Команда Membercount всех серверов, на которых находится бот (discord.js )

#javascript #node.js #discord #discord.js

#javascript #node.js #Discord #discord.js

Вопрос:

Мне нужна команда, которая подсчитывает всех пользователей каждого сервера, на котором находится бот. Однако, с кодом, который у меня есть прямо сейчас, бот учитывает только каждый сервер.

 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}** Onlinen**${message.guild.members.filter(i => i.presence.status === 'idle').size}** Inactiven**${message.guild.members.filter(dnd => dnd.presence.status === 'dnd').size}** Do Not Disturbn**${message.guild.members.filter(off => off.presence.status === 'offline').size}** Offlinen**${message.guild.members.filter(s => s.presence.status === 'streaming').size}** Streaming`)
    .setFooter(`© footername`)
  
    message.channel.send({embed});
}
  

Ответ №1:

Вы можете рассчитать количество участников на всех серверах вместе взятых с помощью Collection.prototype.reduce()

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