Бот Discord думает, что я в ВК, даже если я не

#discord.js #bots

Вопрос:

Я создаю бота, который может воспроизводить что-то в голосовом канале, но проблема в том, что код думает, что я в голосовом канале, но это не так. Я использую этот код, чтобы проверить его

 const voice_channel = message.member.voice.channel;
if (!voice_channel) {return sendMessage('**Error**', '#FF0000', 'You need to be in voice 
channel to use this command.', message, Discord);}
 

Я не получаю никаких ошибок. Спасибо за любую помощь.

Комментарии:

1. Какая версия discord.js используете ли вы

2. @Cannicide Это неправильно. message.member.voice.channel это голосовой канал, в котором находится участник, отправивший сообщение. Если это определено, вы находитесь в голосовом канале, предполагая, что вы тот, кто отправил сообщение.

3. Извините, я на секунду запутался там @GentleAutumnRain. Вы правы. Таким образом, предположение о том, кто отправил сообщение, лежит в основе этого вопроса.

4. @MrMythical Я использую последнюю версию

5. @GentleAutumnRain Да, это имеет смысл, но как мне получить реальный голосовой канал, чтобы проверить его.

Ответ №1:

Я беру удар в темноте здесь из-за отсутствия информации, представленной в вопросе, но общая проблема вполне может быть причиной этой проблемы.

Убедитесь, что у вас есть GUILD_VOICE_STATES намерение, добавленное вашему клиенту. Без этого он не сможет обнаруживать обновления голосовых чатов, и поэтому, если вы запускаете свой код, не используя голосовой канал, он всегда будет думать, что вы не находитесь в нем, а если вы находитесь в голосовом канале, когда вы запускаете свой код, он всегда будет думать, что вы находитесь в нем.

Просто добавив это намерение, он сможет обнаруживать обновления и может/должен решить вашу проблему.

Ответ №2:

Я думаю, что лучшее решение console.log(voice_channel) -проверить, не изменилось ли что-нибудь, когда вы подключены, а когда нет, и проверить, равно ли это значение значению, которое вы получили, когда не были подключены. Раньше я это знал, но я перестал создавать ботов для раздора, поэтому я в основном забыл все, чему научился ;(

Комментарии:

1. Похоже, когда я это делаю, а я не в VC, он говорит null, но когда я присоединяюсь к VC, он все равно говорит null. Также я попробовал код на другом КОМПЬЮТЕРЕ, похоже, это проблема discordjs, а не проблема кода.