Статистика бота на discord.py
Помогите пожалуйста сделать похожую команду как вот тут
Я пытался это сделать сам, но у меня не получалось вычислять сколько серверов, пользователей и голосовых каналом смотрит мой бот, у меня получилось сделать только пинг бота, когда он был запущен и ембед :(
Кто поможет, тому буду очень сильно благодарен! Сразу говорю, я новичок в пайтоне! Заранее огромное спасибо!
Ответы (1 шт):
Я пытался это сделать сам, но у меня не получалось вычислять сколько серверов
Да там и вычислять-то ничего не надо. Просто один раз загуглить что-то вроде "как получить количество серверов бота discord py", либо научиться работать с документацией, где все свойства и методы всех объектов расписаны максимально подробно.
Рекомендую почитать краткое руководство - все, что я пишу ниже сразу станет понятно.
Открываем свойства и методы бота и видим, что здесь есть все почти все необходимое:
На каждый элемент списка можно нажать и посмотреть что этот объект из себя представляет.
Видим, что свойство bot.guilds возвращает список (list) серверов бота
Таким образом, количество серверов вы можете получить просто применив к списку встроенный метод len()
guilds_count = len(bot.guilds)
Тоже самое с голосовыми соединениями (bot.voice_clients) и пользователями (bot.users).
Каналы находятся на серверах, а это значит, получать их количество нужно именно из объектов серверов.
Вбиваем в поиск документации ключевое слово guild и открываем список свойств сервера
Видим здесь свойство channels - не сложно догадаться, что это список каналов сервера.
Поскольку посчитать количество каналов нужно для всех серверов - воспользуемся циклом for:
channels_count = 0
for guild in bot.guilds:
channels_count += len(guild.channels)
Точно также можно посчитать количество всех участников серверов, так как bot.users возвращает только доступных боту пользователей
members_count = 0
for guild in bot.guilds:
members_count += len(guild.members)


