用户离开几秒钟后,语音通道删除将无法正常工作

时间:2019-08-16 13:03:42

标签: javascript bots discord.js

我有一个创建语音通道的命令,如果该通道为空,则3秒钟后将其删除。因此,如果我创建了频道并且没有人加入,一切都会好起来的,但是,如果频道中有人的时间超过3秒并且离开后,则不会删除该频道。我认为问题出在这里的某个地方(在下面的代码中),但是我不知道如何解决它,有没有可能的方法来解决它?

bot.on(`voiceStateUpdate`, oldMember => {
        deleteEmptyChannelAfterDelay(oldMember.voiceChannel);


    });

    function deleteEmptyChannelAfterDelay(voiceChannel, delayMS = 3000){
        if(!voiceChannel) return;
        if(voiceChannel.members.first()) return;
        if(!voiceChannel.health) voiceChannel.health = 0;
        voiceChannel.health += 1;
        setTimeout(function(){
            if(!voiceChannel) return;
            if(voiceChannel.members.first()) return;
            voiceChannel.health -= 1;
            if(voiceChannel.health > 0) return;
            voiceChannel.delete()
                .catch(error => console.log(error));
        }, delayMS);
    }

0 个答案:

没有答案