В Python-telegram-bot как получить, если возможно , полный список всех участников группы, в которую добавлен бот?
В python-telegram-bot как получить всех участников группы?
Ответы (2)
Вы не можете использовать текущий API, но вы можете присоединиться / выйти из пользователей через его API.
Если вы проверите объект Сообщение, вы обнаружите:
- new_chat_participant: в группу добавлен новый участник, информация о нем (этим участником может быть сам бот)
- left_chat_participant: участник удален из группы, информация о нем (этим участником может быть сам бот)
Таким образом, с помощью этих двух данных вы можете отслеживать общее количество пользователей в вашем чате и их личность.
Основная стратегия - хранить где-нибудь (например, в базе данных) случаи присоединения и выхода пользователей из группы.
Когда пользователь присоединяется к чату, сохраните объект User в хранилище. Когда пользователь выходит из чата, удалите объект «Пользователь» из хранилища.
Ну тогда делайте логику сколько угодно.
Кроме того, последнее обновление API позволяет:
telegram.get_chat_members_count (chat_id): используйте этот метод, чтобы получить количество участников в чате.
telegram.get_chat_member (chat_id, user_id): используйте этот метод для получения информации об участнике чата.
Вы можете комбинировать со стратегиями new_chat_participant и left_chat_participant, чтобы собрать информацию о группе.
Больше информации здесь:
- https://python-telegram-bot.readthedocs.io/en/stable/telegram.bot.html#telegram.Bot.get_chat_members_count
- https://python-telegram-bot.readthedocs.io/en/stable/telegram.bot.html#telegram.Bot.get_chat_member