所以我开始了我的不和谐机器人的音乐部分。现在,正如我在上一个问题中所做的那样,这里只是音乐命令的片段: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)
同样的错误。
我只是没有看到什么是未定义的,也许我还没有喝咖啡,而且我错过了一些非常明显的东西,但任何帮助都表示赞赏。
答案 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.'));