Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作

Posted

技术标签:

【中文标题】Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作【英文标题】:Discord JS Music bot - .message.member.voiceChannel.join() not working 【发布时间】:2018-05-18 04:43:15 【问题描述】:

我正在尝试在 Discord.JS 中制作音乐机器人。但是,当我调试代码时出现错误。 代码如下:

var channel = message.member.voiceChannel;

        if(!message.guild.voiceConnection) channel.join().then(function(connection)
            play(connection, message);
        ); 

play 是我在代码中更高层创建的一个函数。

我得到的错误是:

                                        ^
TypeError: Cannot read property 'join' of undefined
at Client.<anonymous> (C:\Users\ryans\Desktop\STATICbot\index.js:112:56)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handle (C:\Users\ryans\Desktop\STATICbot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (C:\Users\ryans\Desktop\STATICbot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (C:\Users\ryans\Desktop\STATICbot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:330:35)
at WebSocketConnection.onMessage (C:\Users\ryans\Desktop\STATICbot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:293:17)
at WebSocket.onMessage (C:\Users\ryans\Desktop\STATICbot\node_modules\ws\lib\EventTarget.js:99:16)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)

我尝试将 message.member.voiceChannel 中的 member 更改为 members,但没有成功。

我也尝试将 message.member.voiceChannel 放在变量之外,并在 .join() 之前。

任何帮助将不胜感激,谢谢!

【问题讨论】:

是语音频道的成员吗? @DakshMiglani 不是当我运行命令时,没有。 错误码的意思是,发送消息的用户不在任何语音频道,所以机器人无法加入频道。 @DakshMiglani 解决了!您能否将其添加为我的问题的答案,以便我可以选择您已回答我的问题? 好的,我会这样做的。 【参考方案1】:

所以错误代码的意思是,发送消息的用户不在任何语音频道中,因此机器人无法加入频道。

可能的解决方案:

    加入频道,然后发送消息。 如果找不到频道,则加入预设频道。

【讨论】:

【参考方案2】:

我在我的不和谐机器人代码中使用了类似的东西

voiceChannel = message.member.voiceChannel;

voiceChannel.join().then(function (connection) 


【讨论】:

以上是关于Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作的主要内容,如果未能解决你的问题,请参考以下文章

找不到 Discord.js 音乐机器人 ffmpeg?

Discord.js 音乐机器人:TypeError:this.inputMedia.pipe 不是函数

音乐机器人 discord.js 问题

从 twitch bot 调用 Discord.js 音乐问题找到语音频道

Discord.js 机器人在提及时做出响应

Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作