#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. Я уже вышел из него. Если это поможет, пожалуйста, отметьте это как принятое.