Discord.js данные голосового канала v13 не обновляются

#javascript #discord.js

Вопрос:

Мои команды Слэша зарегистрированы, и они появляются в разладе. Упрощенная версия моего использования:

 client.on('interactionCreate', async interaction => {
    if (!interaction.isCommand()) return;

    console.log(interaction.member.voice.channel);

    interaction.reply('done');
});
 

При запуске этого приложения он всегда будет выдавать результат с момента запуска бота. Например, если я подключусь к каналу, а затем запущу бота, он выдаст правильный вывод, но если я затем выйду из канала, он выдаст мне тот же вывод. Если я не нахожусь в канале, когда я запускаю бота, правильный вывод равен нулю, но если я подключусь к каналу, он снова будет равен нулю, пока я не перезапущу бота.
У кого-нибудь была та же проблема / мое мышление неверно или кто-то знает решение проблемы?

Ответ №1:

Это не проблема с функциональностью команд косой черты. Вы должны добавить GUILD_VOICE_STATES намерение своему клиенту. Это позволяет ему обнаруживать обновления голосовых каналов, например, когда вы уходите или присоединяетесь.