Задать вопрос
@MoneySMile

Как отобразить количество пользователей онлайн в названии голосового канала discord,.js?

Привет! Мне нужна функция(или что-то на подобии) для того что бы я мог через название голосового канала отобразить тех кто онлайн на моём дискорд сервере. Как это можно было бы реализовать? (Если можно то было бы не плохо отображение всего участников не включая ботов и отдельно участников в сети)
  • Вопрос задан
  • 302 просмотра
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@xIICUX
Можно сделать так, протестировал, вроде работает, ботов не захватывает
( внимание, проверки писал на скорую руку и я вообще сам почти новичок )

function СhCounter( guild, ChCounter, UpdateTime = 10000 ) { 
// guild - Объект гильдии, ChCounter - Объект канала в этой гильдии, UpdateTime - обновлять каждые N ms

   if ( !guild || !ChCounter || UpdateTime < 1000 ) return 0; // Проверка на валидность

   const Users = guild.members.cache.filter(m => m.user.bot === false) //Все юзеры
   const OnlineCount = Users.filter(m => m.presence.status != 'offline').size //Число юзеров онлайн
    
   ChCounter.setName(`${OnlineCount} / ${Users.size} online members`); // Меняем название канала
   setTimeout( СhCounter, UpdateTime, guild, ChCounter, UpdateTime ); // Вызываем повторно через UpdateTime ms

}


Потом просто вызываете функцию и сообщаете ей нужные параметры
( например, во время инициализации бота )

//Токен уже введёт, логин произведён

const couterConfig = {
   guildID: "YOU GUILD ID",
   chID: "YOU CHANNEL ID"
}

client.on("ready", () => {

   test_GUILD = client.guilds.cache.get(couterConfig.guildID);
   if (!test_GUILD ) return console.log("Не могу найти гильдию для подсчёта") // Проверочка валидности
   test_Channel = test_GUILD.channels.cache.get(couterConfig.chID);
   if (!test_GUILD ) return console.log("Не могу найти канал для подсчёта") // Проверочка валидности
   
   console.log("Начинаю считать");
   СhCounter(test_GUILD, test_Channel, 5000); // Вызов ф-и
   
}
Ответ написан
Комментировать
Andrew_Dark
@Andrew_Dark
Andrew Dark#9249
QQ!

Завтра сяду за ПК и смогу сделать код если ответа не будет, а пока что объясню для остальных:

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

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

Похожие вопросы