我正在重写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
}
答案 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);
};