Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作
Discord JS Music bot - .message.member.voiceChannel.join() not working
我正在尝试在 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 但是那没有用。
我也尝试过在变量之外和 .join() 之前使用 message.member.voiceChannel。
任何帮助将不胜感激,谢谢!
所以错误代码是说,发送消息的用户不在任何语音频道中,因此机器人无法加入频道。
可能的解决方案:
- 加入频道然后发送消息。
- 如果找不到频道,则加入预设频道。
我在我的 discord 机器人代码中使用了类似的东西
voiceChannel = message.member.voiceChannel;
voiceChannel.join().then(function (connection) {
}
我正在尝试在 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 但是那没有用。
我也尝试过在变量之外和 .join() 之前使用 message.member.voiceChannel。
任何帮助将不胜感激,谢谢!
所以错误代码是说,发送消息的用户不在任何语音频道中,因此机器人无法加入频道。
可能的解决方案:
- 加入频道然后发送消息。
- 如果找不到频道,则加入预设频道。
我在我的 discord 机器人代码中使用了类似的东西
voiceChannel = message.member.voiceChannel;
voiceChannel.join().then(function (connection) {
}