voiceChannel undefenition

时间:2018-01-19 03:25:40

标签: javascript node.js discord discord.js

所以我开始了我的不和谐机器人的音乐部分。现在,正如我在上一个问题中所做的那样,这里只是音乐命令的片段:Pastebin #1

在显示if (msg.member.voiceConnection === undefined) return msg.channel.sendMessage(wrap(':x: You\'re not in a voice channel.'));的行,控制台:Pastebin #2

另一个未定义的错误。我对这里的未定义感到困惑。我搜索了discord.js.org文档无济于事。 (discord.js官方不和也没什么帮助。)我总是对未定义的错误感到困惑。

我也尝试使用if (guild.member.voiceConnection)同样的错误。

我只是没有看到什么是未定义的,也许我还没有喝咖啡,而且我错过了一些非常明显的东西,但任何帮助都表示赞赏。

2 个答案:

答案 0 :(得分:0)

未定义意味着它根本没有价值,因此不知道。您可以将其与5个项目的数组进行比较,然后尝试获取索引7.由此未知未定义

要查找用户的voiceChannel,您不需要使用.voiceConnection,但需要.voiceChannel。如果您在语音频道中,则不会定义此选项。否则它会为您提供频道信息:)

编辑:但是有更多错误,而不仅仅是我现在看到的错误。您使用了msg.member,但msg只是一个包含消息内容的字符串。你需要消息事件中的消息对象来检查.member.voiceChannel而不是消息的内容

答案 1 :(得分:0)

您使用的很多方法都已弃用,因此请先介绍一下。

if (msg.member.voiceConnection === undefined) 
     return msg.channel.sendMessage(wrap(':x: You\'re not in a voice channel.'));

首先,msg.channel.sendMessage应为message.channel.send。接下来,msg.member.voiceConnection应为msg.member.voiceChannel。 您可以查看docs

所以这些改变之后我们有:

if (msg.member.voiceChannel === undefined) 
     return msg.channel.send(wrap(':x: You\'re not in a voice channel.'));