首页 > 解决方案 > 如何使用 discord.js 创建用于创建语音通道的侦听器?

问题描述

我一直在尝试创建一种监听器,如果一个人加入一个名为“Join to Create”的语音频道,它会在特定类别中创建另一个名为“voice -”的语音频道,然后将它们移动到新的创建了语音频道,我希望新创建的频道最多允许 3 名成员加入,一旦每个人都离开了频道并且频道完全为空,它将删除它。

我尝试了许多不同的方法,并在 Google 上进行了研究,但如果有人知道如何创建它,我似乎无法找到有效的方法。

标签: javascriptdiscord.js

解决方案


让我们创建一个有用户限制的语音通道

let FinalChannel; //Put this outside functions so that we can use it later
message.guild.channels.create('Voics-!!!', "voice").then(c => {
    c.setUserLimit("5");
    FinalChannel = c;
});

然后,

client.on('voiceStateUpdate', (oldState, newState) => {
    if (oldState.member.user.bot) return; //Bot filter
    if(!newState.channelID) return; //left Channel
    if(newState.channelID !== "Join Voice Channel ID") return; //We don't care about other channels
    if(FinalChannel.members.cache.size < FinalChannel.userLimit){ //Check if there's more user than limit
        newState.member.setChannel(FinalChannel);
    }
})

推荐阅读