首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >播放不一致命令

播放不一致命令
EN

Stack Overflow用户
提问于 2021-04-28 09:40:24
回答 1查看 47关注 0票数 0

您好,我一直有一个播放命令与不一致的问题。我不确定是什么问题,如果可能的话,请帮助我。我将诚实地说,我从其他地方得到了这个代码,但它是为一个私人服务器。请帮我修一下这个谢谢。无论如何,我已经尝试创建一个播放,停止,跳过,现在播放命令很久了,如果它工作,它将是令人惊叹的谢谢。

控制台错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TypeError: Cannot read property 'get' of undefined

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const ytdl = require("ytdl-core");

module.exports = {
  name: "play",
  description: "Play a song in your channel!",
  async execute(message) {
    try {
      const args = message.content.split(" ");
      const queue = message.client.queue;
      const serverQueue = message.client.queue.get(message.guild.id);

      const voiceChannel = message.member.voice.channel;
      if (!voiceChannel)
        return message.channel.send(
          "You need to be in a voice channel to play music!"
        );
      const permissions = voiceChannel.permissionsFor(message.client.user);
      if (!permissions.has("CONNECT") || !permissions.has("SPEAK")) {
        return message.channel.send(
          "I need the permissions to join and speak in your voice channel!"
        );
      }

      const songInfo = await ytdl.getInfo(args[1]);
      const song = {
        title: songInfo.videoDetails.title,
        url: songInfo.videoDetails.video_url
      };

      if (!serverQueue) {
        const queueContruct = {
          textChannel: message.channel,
          voiceChannel: voiceChannel,
          connection: null,
          songs: [],
          volume: 5,
          playing: true
        };

        queue.set(message.guild.id, queueContruct);

        queueContruct.songs.push(song);

        try {
          var connection = await voiceChannel.join();
          queueContruct.connection = connection;
          this.play(message, queueContruct.songs[0]);
        } catch (err) {
          console.log(err);
          queue.delete(message.guild.id);
          return message.channel.send(err);
        }
      } else {
        serverQueue.songs.push(song);
        return message.channel.send(
          `${song.title} has been added to the queue!`
        );
      }
    } catch (error) {
      console.log(error);
      message.channel.send(error.message);
    }
  },

  play(message, song) {
    const queue = message.client.queue;
    const guild = message.guild;
    const serverQueue = queue.get(message.guild.id);

    if (!song) {
      serverQueue.voiceChannel.leave();
      queue.delete(guild.id);
      return;
    }

    const dispatcher = serverQueue.connection
      .play(ytdl(song.url))
      .on("finish", () => {
        serverQueue.songs.shift();
        this.play(message, serverQueue.songs[0]);
      })
      .on("error", error => console.error(error));
    dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
    serverQueue.textChannel.send(`Start playing: **${song.title}**`);
  }
};
EN

回答 1

Stack Overflow用户

发布于 2021-04-29 08:51:46

你应该看看你是从哪里得到代码的,也许你漏掉了一个部分?特别是在他们定义client.queue的地方,大多数人通常这样定义它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
client.queue = new Map()

discord.js collection class (从map扩展)

在主机器人文件(index.js、bot.js等)中。

您可以检查代码的来源,或者尝试将此代码添加到主bot文件中定义客户端的位置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67297673

复制
相关文章
Mybatis 批量更新无效字符的错误
使用<foreach></foreach> 批量insert时报错 ORA-00911: 无效字符的错误
三哥
2018/12/24
1.9K0
语音对话机器人
那么它一定得回复我们,对吧。为了能够智能点,我们就用到了图灵得接口图灵真的非常好用能够 查天气语音**讲故事**讲笑话 下面附上第三步的代码
大发明家
2021/12/06
4K0
智能机器人语音识别技术
语音控制的基础就是语音识别技术,可以是特定人或者非特定人的。非特定人的应用更为广泛,对于用户而言不用训练,因此也更加方便。语音识别可以分为孤立词识别,连接词识别,以及大词汇量的连续词识别。对于智能机器人这类嵌入式应用而言,语音可以提供直接可靠的交互方式,语音识别技术的应用价值也就不言而喻。 1 语音识别概述 语音识别技术最早可以追溯到20世纪50年代,是试图使机器能“听懂”人类语音的技术。按照目前主流的研究方法,连续语音识别和孤立词语音识别采用的声学模型一般不同。孤立词语音识别一般采用DTW动态时间规整
机器人网
2018/04/25
5.6K0
智能机器人语音识别技术
智能语音机器人小知识(3)--什么是语音识别技术?
语音识别技术,也被称为自动语音识别Automatic Speech Recognition (ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
思谱云汇
2019/05/22
3.5K0
智能语音机器人小知识(3)--什么是语音识别技术?
asp.net mvc HandleErrorAttribute 异常错误处理 无效!
现象:filters.Add(new HandleErrorAttribute()); 使用了全局的异常处理过滤。
旺财的城堡
2018/11/20
1.2K0
IDEA报错 java: 错误: 无效的源发行版:17
报错如下图所示 这就是没设置好JDK版本,按照下图设置好即可。 好的,齐活儿。
程序员十三
2022/11/28
4.5K0
IDEA报错 java: 错误: 无效的源发行版:17
智能语音机器人小知识(7)--什么是交互式语音应答?
IVR(Interactive Voice Response)即交互式语音应答,可以提高呼叫服务的质量并节省费用。IVR是一种功能强大的电话自动服务系统。对用户来说,只有理解了这一点,才能真正了解IVR系统的价值;而对产品提供商来说,也只有理解了这一点,才能真正明确产品的应用范围和设计目标随着技术的进步,在一体化呼叫中心平台中,IVR首先是一个子系统,它与其他子系统协同来实现一个呼叫中心平台的标准功能;其次它又是一个可以单独运行、维护和升级的独立系统,可以在只需要IVR的场合单独使用。
思谱云汇
2019/05/27
4.1K0
智能语音机器人小知识(7)--什么是交互式语音应答?
关于智能语音机器人的使用误区
智能语音机器人(电销机器人),据我们市场调查很多朋友已经了解过该类产品过,也有许多人还没听说过,但是总体市场反响并不是很好。小编为了为了能够对大家提供帮助,专门试用了几款此类机器人,对此有以下一些分享。
思谱云汇
2019/06/02
2.8K0
关于智能语音机器人的使用误区
Oracle 无效对象查询,编译无效对象
查看当前无效对象 select * from dba_objects t where t.status = 'INVALID' order by 1; 编译无效对象: 有两种方式: 1、执行sql查询结果: select 'alter '||object_type||' '||owner||'.'||object_name||' compile;' from dba_objects t where t.status = 'INVALID' order by 1; 2、脚本编译: sqlplu
Lucifer三思而后行
2021/09/22
3K0
checkout无效
前景 日常工作中,遇到的一些checkout无效或者commit提交不了的情况 1.首先 你需要update的项目 会告诉你更改了那些配置,必须要还原或者提交 git pull 2.暂存提交 git stash 命令的意思是将这些更改过的配置 暂存起来,注意是暂存 3.更新 git pull #拉取最新代码 4.取暂存 git statsh pop 5.检查是否可以checkout或者commit 最后你发现之前暂存的配置,以及取出来并且成功替换了update之后的配置
cywhat
2022/11/22
2.3K0
中文语音对话机器人/智能音箱项目
中文语音对话机器人/智能音箱项目 关键字:机器人 智能 音箱 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目。 功能特性 功能特性 模块化 中文支持 对话机器人支持 全局监听,离线唤醒 灵
程序源代码
2019/10/15
3.9K0
中文语音对话机器人/智能音箱项目
机器人错误记录bad hadbake
遇到cq-htp报错:bad hadbake有可能是版本更新兼容问题,我更新到最新版本就出错了,所以我有换回了老版本。
川川菜鸟
2021/10/18
2600
网页显示400 bad request_1类错误拒绝无效假设
在ajax请求后台数据时有时会报 HTTP 400 错误 – 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里;
全栈程序员站长
2022/09/19
8780
智能语音机器人小知识(2)--什么是TCP/IP协议?
传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol)又名网络通讯协议。
思谱云汇
2019/05/21
1.6K0
智能语音机器人小知识(2)--什么是TCP/IP协议?
智能语音机器人小知识(5)--什么是TTS技术?
TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。
思谱云汇
2019/05/24
3.3K0
智能语音机器人小知识(5)--什么是TTS技术?
智能语音机器人小知识(8)--什么是SaaS系统?
SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。它与“On-demand software”(按需软件),The application service provider(ASP,应用服务提供商),Hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
思谱云汇
2019/05/29
2.5K0
智能语音机器人小知识(8)--什么是SaaS系统?
智能语音机器人小知识(9)--什么是CRM系统?
CRM(Customer Relationship Management)即客户关系管理,是指企业用CRM技术来管理与客户之间的关系。在不同场合下,CRM可能是一个管理学术语,可能是一个软件系统。通常所指的CRM,指用计算机自动化分析销售、市场营销、客户服务以及应用等流程的软件系统。
思谱云汇
2019/05/30
1.6K0
智能语音机器人小知识(9)--什么是CRM系统?
websocket注入无效
@Autowired等注入无效 解决方法:在需要使用你想注入的service的地方用如下方式引用: GameRecordService gameRecordService = applicationContext.getBean(GameRecordService.class);
似水的流年
2019/12/05
2.1K0
点击加载更多

相似问题

使用quantmod下载R的多个月股价

12

在R中安装quantmod

10

使用R调用quantmod中的代码列表

13

下载-使用Quantmod在R中保存负载往返

11

如何在quantmod中处理特殊符号,如GC=F

122
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文