Discord. js: TypeError: Невозможно прочитать свойство 'connection' из неопределенного - PullRequest
0 голосов
/ 22 апреля 2020

Поэтому мне было интересно, как можно решить эту проблему, потому что я не могу найти ни точного решения, ни точного объяснения того, что и почему здесь не работает.

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 голосов
/ 22 апреля 2020

Вы должны проверить, подключен ли ваш бот сначала к голосовому каналу. Если бот не подключен к голосовому каналу, вы никогда не сможете получить connection из голосового канала (который никогда не был найден)

0 голосов
/ 22 апреля 2020

message.guild.voice - это undefined, и вы пытаетесь получить доступ к connection для этого undefined.

. В таких случаях всегда полезно установить точку останова, а затем посмотреть на фактическая структура объекта, к которому вы пытаетесь получить доступ.

Если вы тогда ничего не написали неправильно / не пытались получить доступ к неправильному свойству, вы можете либо просмотреть весь объект, чтобы найти то, что вам нужно, либо вы можете go перейти на страницу Документация чтобы найти то, что вам не хватает.

Discord Js Последнее обновление изменило многое, я бы посоветовал вам взглянуть на их руководство по миграции, чтобы узнать, как это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...