2016-01-02 2 views
10

В Python-telegram-bot как получить, , если возможно, полный список всех участников группы, в которую был добавлен бот?В python-telegram-bot как получить всех участников группы?

+1

Я пытался искать в документации и в примерах для способа получения списка участников. Я хочу реализовать игру [Mafia] (https://en.wikipedia.org/wiki/Mafia_ (party_game)? Oldformat = true). Чтобы установить роли, мне нужно сначала получить список. – Thomas8

ответ

11

Вы не можете использовать текущий API, но можете присоединиться к нему через API.

Если проверить Message объект, который вы найдете:

  • new_chat_participant: новый член был добавлен в группу, информацию о них (этот элемент может быть сам бот)
  • left_chat_participant : Элемент был удален из группы, информация о них (этот элемент может быть сам ботом)

So wi этой двух информации вы можете отслеживать общее количество пользователей в чате и кто они.

Основной стратегией было бы хранить где-нибудь (например, базу данных) появление присоединения и выхода пользователей из группы.

Когда пользователь присоединяется к чату, хранит объект Пользователь в хранилище. Когда пользователь выйдет из чата, удалите объект User из хранилища.

Ну, тогда сделайте логику по мере необходимости.

11

Кроме того, последнее обновление API позволяет:

  • telegram.getChatMembersCount (chat_id): Используйте этот метод, чтобы получить число членов в чате.

  • telegram.getChatMember (chat_id, user_id): Используйте этот метод для получения информации о члене чата.

Вы можете комбинировать с new_chat_participant и left_chat_participant стратегии для создания информации о группе.

Более подробная информация здесь:

+0

Проводятся ссылки с 404. –