Javascript 语音通道未定义

Javascript 语音通道未定义,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,所以我开始了我的discord机器人的音乐部分。现在,正如我在上一个问题中所做的那样,这里是仅用于Music命令的片段: 在显示if(msg.member.voiceConnection==未定义)的行中返回msg.channel.sendMessage(wrap(“:x:您不在语音频道中”),控制台: 另一个未定义的错误。我不知道这里有什么未定义的。我搜索了discord.js.org文档,但没有找到任何结果。(discord.js官方discord也帮不上什么忙。)我总是对未定义的错误感到困

所以我开始了我的discord机器人的音乐部分。现在,正如我在上一个问题中所做的那样,这里是仅用于Music命令的片段:

在显示
if(msg.member.voiceConnection==未定义)的行中返回msg.channel.sendMessage(wrap(“:x:您不在语音频道中”),控制台:

另一个未定义的错误。我不知道这里有什么未定义的。我搜索了discord.js.org文档,但没有找到任何结果。(discord.js官方discord也帮不上什么忙。)我总是对未定义的错误感到困惑

我还尝试使用
if(guild.member.voiceConnection)
,但出现了相同的错误


我只是不知道什么是未定义的,也许我还没有喝咖啡,我错过了一些非常明显的东西,但任何帮助都是非常感谢的

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

要查找用户的voiceChannel,您不需要使用.voiceConnection,但需要.voiceChannel。如果您在语音频道中而不是,这将是未定义的。否则,它将向您提供频道信息:)


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

您正在使用的许多方法都已折旧,因此让我先介绍一下这些方法

if(msg.member.voiceConnection==未定义)
返回msg.channel.sendMessage(wrap(“:x:您不在语音频道中”);
首先,
msg.channel.sendMessage
应该是
message.channel.send
。接下来,
msg.member.voiceConnection
应该是
msg.member.voiceChannel
。 你可以查一下电话号码

因此,在所有这些变化之后,我们有:


哦,哦,我现在明白了,我以前没有意识到这一点,非常感谢!我确实看到这里有什么问题,非常感谢您的帮助,而且我还看到,
msg
是消息内容,这对获得语音频道没有帮助。我已经把它修好了,谢谢你的帮助:)没问题,祝你编码愉快
if (msg.member.voiceChannel === undefined) 
     return msg.channel.send(wrap(':x: You\'re not in a voice channel.'));