@yura_2021

Как провести подсчет участников сервера ботом discord.js?

Написал код который считает участников на сервере дискорд, а также количество людей в голосовых каналах. Однако бот выдает значение количества участников вместе с ботами. Как изменить код чтобы количество участников было без ботов, а также добавить раздельную статистику по статусу - в сети, не активен, не беспокоить. Вот код
robot.on('message', async (msg) => {//Количество участников сервера
if (msg.partial) {
try {
await msg.fetch();
} catch (error) {
console.error('Something went wrong when fetching the message: ', error);
return;
}
}
let voiceChannels = msg.guild.channels.cache.filter(c => c.type === 'voice');
let count = 0;
for (let [id, voiceChannel] of voiceChannels) count += voiceChannel.members.size;
robot.channels.fetch('813054508015288360').then(channel => {
channel.setName("Котиков:"+ msg.guild.memberCount + ' ' + count)});
});
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 2
26DiDi12
@26DiDi12
мдаа...
надеюсь знаешь куда вписать)
а чтобы отличить ботов от участников просто где "members" отнимаешь число ботов, например:

${members - 1}

async function timemembercount() {
  let members = bot.guilds.cache.get("GuildID").memberCount 
  bot.channels.cache.get("ChannelID").setName(`Котиков: ${members}`); 
}

var interval = setInterval(function () { timemembercount(); }, 20000  );
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы