#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)