From fe9b72d77168f91d66e28907407f380c37e96ff9 Mon Sep 17 00:00:00 2001 From: Dragon Fire Date: Wed, 10 Mar 2021 17:30:46 -0500 Subject: [PATCH] Fix --- Xiao.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/Xiao.js b/Xiao.js index b416ce30..0b4235ff 100644 --- a/Xiao.js +++ b/Xiao.js @@ -258,21 +258,23 @@ client.on('guildMemberRemove', async member => { }); client.on('voiceStateUpdate', async (oldState, newState) => { - if (!newState.channel) await client.channels.fetch(newState.channelID); - if (newState.channel.members.size === 1 && newState.channel.members.has(client.user.id)) { - const dispatcher = client.dispatchers.get(oldState.guild.id); - if (dispatcher) { - dispatcher.end(); - client.dispatchers.delete(oldState.guild.id); - } - newState.channel.leave(); - } - if (newState.id !== client.user.id || oldState.id !== client.user.id) return; if (newState.channel) return; - const dispatcher = client.dispatchers.get(oldState.guild.id); - if (!dispatcher) return; - dispatcher.end(); - client.dispatchers.delete(oldState.guild.id); + if (oldState.id !== client.user.id) { + const channel = await client.channels.fetch(oldState.channelID); + if (channel.members.size === 1 && channel.members.has(client.user.id)) { + const dispatcher = client.dispatchers.get(oldState.guild.id); + if (dispatcher) { + dispatcher.end(); + client.dispatchers.delete(oldState.guild.id); + } + channel.leave(); + } + } else { + const dispatcher = client.dispatchers.get(oldState.guild.id); + if (!dispatcher) return; + dispatcher.end(); + client.dispatchers.delete(oldState.guild.id); + } }); client.on('disconnect', event => {