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

    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 согласно этим условиям.
    Ответ написан
    1 комментарий