获取语​​音通道中的用户数

时间:2020-09-05 20:33:42

标签: javascript node.js discord discord.js

我正在重写friends discord bot的音乐部分。我试图找出如何获得执行命令的人的语音通道中的用户数量。我到处都看过,但似乎找不到它或它的用法。 现在,我正在使用以下内容:

module.exports.run = async (client, message, args) => {
    
  if (!message.member.roles.cache.find(role => config["dj_role"] === string.toLowerCase(role.name))) {
    if (!message.member.hasPermission('MANAGE_GUILD' || 'MANAGE_ROLES' || 'ADMINISTRATOR')) {
        if (!message.member.id == message.guild.ownerID) {
            let count = 0;
            count += voiceChannel.members.size;
            if (count > 3){
                return message.channel.send(client.msg["rejcted_dj"].replace("[ROLE_DJ]", config["dj_role"]));
            }
        }
    }
}
  if (!message.member.voice.channel){return message.channel.send(client.msg["music_channel_undefined"])}
//play music part
}

1 个答案:

答案 0 :(得分:2)

您非常接近。您已经有了命令作者的语音通道:

if (!message.member.voice.channel){return message.channel.send(client.msg["music_channel_undefined"])}

您可以使用VoiceChannel.members.size获取频道中的成员数量。

这是一个例子:

const GuildMember = new Discord.GuildMember(); // This shall be the command author.

if (GuildMember.voice.channel) {
    console.log(GuildMember.voice.channel.members.size);
};