所以我一直想知道如何解决此问题,因为我找不到确切的解决方案,也找不到关于什么以及为什么它在这里无法起作用的确切解释。
if(!message.guild.voice.connection) message.member.voice.channel.join().then(function(connection){
play(connection, message);
})
我收到以下错误消息:
if(!message.guild.voice.connection) message.member.voice.channel.join().then(function(connection){
^
TypeError: Cannot read property 'connection' of undefined
at Client.<anonymous> (D:\FIDESZ BOT\index.js:73:37)
at Client.emit (events.js:310:20)
at MessageCreateAction.handle (D:\FIDESZ BOT\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (D:\FIDESZ BOT\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (D:\FIDESZ BOT\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (D:\FIDESZ BOT\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (D:\FIDESZ BOT\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (D:\FIDESZ BOT\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:310:20)
at Receiver.receiverOnMessage (D:\FIDESZ BOT\node_modules\ws\lib\websocket.js:801:20)
任何帮助将不胜感激!
答案 0 :(得分:0)
message.guild.voice
是undefined
,您正在尝试访问该connection
上的undefined
。
在这类问题中,设置断点,然后查看您尝试访问的对象的实际结构总是有帮助的。
如果您随后没有拼错任何东西/尝试访问错误的属性,则可以遍历整个对象以查找所需的内容,也可以转到Documentation页面以查找丢失的内容。
DiscordJ的最新更新更改了很多内容,建议您查看其迁移指南,以获取有关如何解决此问题的参考。
答案 1 :(得分:0)
您应该先检查您的漫游器是否已连接到语音通道。如果漫游器未连接到语音通道,那么您将永远无法从语音通道获得connection
(从未找到)