简体   繁体   English

机器人所在的所有服务器的 Membercount 命令 (discord.js)

[英]Membercount command of all servers where the bot is in (discord.js)

I would like a command that counts all users of every server the bot is in. However, with the code I have right now, the bot only counts per server.我想要一个命令来计算机器人所在的每台服务器的所有用户。但是,使用我现在拥有的代码,机器人只计算每台服务器。

if(message.content.startsWith("?membercount")) {
    const embed = new Discord.RichEmbed()
    .setTitle("**Bot Name**")
    .setColor('#0099ff')
    .addField('Members', `**${message.guild.memberCount}**`, true)
    .addBlankField(true)
    .addField('Humans', `**${message.guild.members.filter(member => !member.user.bot).size}**`, true)
    .addField('Bots', `**${message.guild.members.filter(member => member.user.bot).size}**`, true)
    .addField('Member Status', `**${message.guild.members.filter(o => o.presence.status === 'online').size}** Online\n**${message.guild.members.filter(i => i.presence.status === 'idle').size}** Inactive\n**${message.guild.members.filter(dnd => dnd.presence.status === 'dnd').size}** Do Not Disturb\n**${message.guild.members.filter(off => off.presence.status === 'offline').size}** Offline\n**${message.guild.members.filter(s => s.presence.status === 'streaming').size}** Streaming`)
    .setFooter(`© footername`)
  
    message.channel.send({embed});
}

您可以使用Collection.prototype.reduce()计算所有服务器的成员数

message.client.guilds.cache.map((g) => g.memberCount).reduce((a, c) => a + c)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM