@getaxe

Как вывести людей в Voice каналах discord js?

Здравствуйте, пишу счетчик людей на сервере и в Voice каналах.
С memberCount разобрался, включив галочку в ЛК бота. (SERVER MEMBERS INTENT)
А вот с онлайном в голосовых каналах не получается. Он запоминает число, и даже после выхода человека не обновляется, тем самым этот показатель только растет, до перезапуска бота.(На портале разработчика так же пробовал ставить галочку на PRESENCE INTENT) Помогите пожалуйста, ниже код.
p.s. для этого у меня отдельный js файл.
module.exports = (client) => {
  async function members() {
    const guild = await client.guilds.fetch("id сервера/гильдии");
    let members = guild.memberCount.toLocaleString();
    client.channels.cache.get("78677696201306****").setName(`Участники: ${members}`); 
  }

  async function online() {
    const guild = await client.guilds.fetch("id сервера/гильдии");
    let voiceonline = guild.voiceStates.cache.size.toLocaleString();
    console.log(voiceonline);
    client.channels.cache.get("80671070358654****").setName(`Voice: ${voiceonline}`);  
  }

  var interval = setInterval(function () {members(), online() }, 600000  );
}
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ettychel
let voiceonline = guild.voiceStates.cache.filter(e => e.channelID).size;

.toLocaleString() - Здесь необязательно, потому как JS сам преобразует в строку при дальнейшей вашей операции
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 50 000 до 100 000 ₽
ai.people Санкт-Петербург
от 120 000 до 220 000 ₽
26 февр. 2021, в 05:09
3000 руб./за проект
26 февр. 2021, в 04:16
3000 руб./за проект
26 февр. 2021, в 01:40
1000 руб./за проект