#node.js #discord #discord.js
#node.js #Discord #discord.js
Вопрос:
У меня есть этот фрагмент кода для discord.js скопировано из reddit, который должен определять, присоединился ли пользователь к каналу или покинул его, но отправляет уведомления об уходе только независимо от того, присоединяется ли кто-то к каналу или покидает его. Около года назад, когда я в последний раз пробовал этот же код, он работал хорошо, но сейчас это не так.
bot.on('voiceStateUpdate', (oldMember, newMember) => {
let newUserChannel = newMember.voiceChannel
let oldUserChannel = oldMember.voiceChannel
if(oldUserChannel === undefined amp;amp; newUserChannel !== undefined) {
// User Joins a voice channel
console.log('join');
} else if(newUserChannel === undefined){
// User leaves a voice channel
console.log('leave');
}
})
Имеет discord.js изменено или что я делаю не так? Если вам нужен весь код, я могу отправить его также.
Комментарии:
1.
Has discord.js changed
> Какую версию вы используете прямо сейчас?2. @Переменная Discord.js версия 12.3.1
Ответ №1:
Поскольку вы используете Discord V12, voiceChannel
больше не является свойством объекта GuildMember. Вместо этого используйте voice
свойство.
guildMember.voice.channel;
Есть хорошее руководство, где вы можете найти, что изменилось в версии 12 при обновлении с версии 11.
Комментарии:
1. Это, вероятно, объясняет это, я попробую. Я все еще новичок в discord.js или программирование в целом, но я попытаюсь разобраться.
2. Нет проблем @MiQ. Если у вас возникнут какие-либо проблемы, просто оставьте комментарий, и я постараюсь ответить, как только смогу.
3. Я изменил
oldMember, newMember
наoldState, newState
и изменилvoiceChannel
наvoice.channel
, и как последнее, что я изменилundefined
наnull
, и теперь это работает отлично! Спасибо!