Показывать пользователей, подключенных к голосовому каналу?

#javascript #discord.js

Вопрос:

Я хочу знать, можно ли узнать, подключен ли какой-либо участник к какому-либо голосовому каналу в discord.js v12.2.0. Пожалуйста, дайте мне знать, если у вас есть какие-либо зацепки по этому поводу.

Ответ №1:

Используйте голосовой канал.участники

 const vc = <message>.guild.channels.cache.get('VC Id')
const members = vc.members //COLLECTION
 

Чтобы проверить, есть ли участник в вк, используйте GuildMember.voice

 const vc = <member>.voice.channel //VOICE CHANNEL
//if you want, you can check the vc name, id, etc with vc.name, vc.id, etc
 

Редактировать
Вот пример того, что вы сказали в комментариях

 //MAKE SURE IT IS ASYNC CALLBACK
await client.guilds.fetch();
const VCs = [];
client.guilds.cache.forEach(async guild => {
await guild.channels.fetch();
let VCs = guild.channels.cache.filter(c => c.type === 'voice');
VCs.forEach(vc => {
if(vc.members) {
VCs.push(vc)
}
})
})
 

Я надеюсь, что это то, что вы хотели ( VCs это массив со всеми VCS с членами)

Комментарии:

1. спасибо за ответ, но я хочу использовать эту функцию на всех голосовых каналах и серверах

2. Я не понимаю, вы хотите посмотреть, есть ли конкретный человек в вк? Вы хотите посмотреть, есть ли в ВК какие-нибудь люди? Вы хотите зарегистрировать все венчурные капиталы с людьми в них?

3. да, я хочу зарегистрировать все венчурные капиталы с людьми в них

4. Используйте цикл forEach для client.guilds.cache того, где вы также выполняете forEach со всеми VC. Я отредактирую свой ответ, чтобы привести вам пример

5. Я уже вышел из него. Если это поможет, пожалуйста, отметьте это как принятое.