Discord.js:TypeError:无法读取未定义的属性“连接”

时间:2020-04-22 07:58:21

标签: javascript discord

所以我一直想知道如何解决此问题,因为我找不到确切的解决方案,也找不到关于什么以及为什么它在这里无法起作用的确切解释。

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)

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

message.guild.voiceundefined,您正在尝试访问该connection上的undefined

在这类问题中,设置断点,然后查看您尝试访问的对象的实际结构总是有帮助的。

如果您随后没有拼错任何东西/尝试访问错误的属性,则可以遍历整个对象以查找所需的内容,也可以转到Documentation页面以查找丢失的内容。

DiscordJ的最新更新更改了很多内容,建议您查看其迁移指南,以获取有关如何解决此问题的参考。

答案 1 :(得分:0)

您应该先检查您的漫游器是否已连接到语音通道。如果漫游器未连接到语音通道,那么您将永远无法从语音通道获得connection(从未找到)