#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
намерение своему клиенту. Это позволяет ему обнаруживать обновления голосовых каналов, например, когда вы уходите или присоединяетесь.