获取语音频道中的用户数



我正在重写我的朋友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
}

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

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);
};

最新更新