Этот вопрос закрыт для ответов, так как повторяет вопрос Как получить количество пользователей в голосовом канале Discord py?
LordRubikI
@LordRubikI
Front-end developer, пародия на backend dev

Python | Как получить общее количество пользователей в голосовых каналах моего Discord сервера?

необходимо получить количество пользователей в голосовых каналах моего Discord сервера, но я себе даже представить не могу, как это реализовать.

Из того, что имеется:
@bot.event
async def on_voice_state_update(member, before, after):
    voice = member.guild.voice_channels
    voiceonline = member.guild.voice_channels.members
  • Вопрос задан
  • 772 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Как всегда, достаточно внимательно прочитать документацию.
Guild.voice_channels: List[VoiceChannel]
Т.е. это список, а ты дергаешь у него какие-то посторонние свойства.
Вот у отдельного VoiceChannel и впрямь есть свойство members: List[Member].
Как дальше, догадаешься?

Что-то вроде
sum(len(vc.members) for vc in member.guild.voice_channels)


Этот подход удобен для инициализации количества участников при запуске бота.
А вот для отслеживания можно не дергать вышеописанное каждый раз, а поступить иначе. Если before.channel is None, то человек вошел в войс-чат. Если after.channel is None, то человек вышел из войс-чата. Если ни тот ни другой, человек просто перешел из одного войс-канала в другой. Тогда хранишь количество юзеров, и делаешь ему +1/-1 согласно этим условиям.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы