我正在做一个机器人,它可以在语音通道中播放东西,但问题是代码认为im在语音通道中,但我不是。我使用下面的代码来检查它
const voice_channel = message.member.voice.channel;
if (!voice_channel) {return sendMessage('**Error**', '#FF0000', 'You need to be in voice
channel to use this command.', message, Discord);}我没有得到任何错误。谢谢你的帮助。
发布于 2021-09-28 10:15:43
由于问题中缺乏提供的信息,我在这里尝试了一下,但一个常见的问题很可能是导致这个问题的原因。
确保已将GUILD_VOICE_STATES意图添加到客户端。如果没有它,它将无法检测到语音聊天的更新,因此,如果你在没有语音通道的情况下运行代码,它将始终认为你不在语音通道中,如果你运行代码时在语音通道中,它将始终认为你在语音通道中。
只需添加该意图,它将能够检测更新,并可以/应该解决您的问题。
发布于 2021-09-27 18:32:56
我认为最好的解决方案是console.log(voice_channel),检查连接和未连接时是否有任何不同,并检查该值是否等于未连接时的值。我曾经知道这一点,但我停止了制造不和谐机器人,所以我基本上忘记了我所学到的一切;
https://stackoverflow.com/questions/69349845
复制相似问题