2016-01-02 6 views
10

Dans Python-telegram-bot comment obtenir, si possible, la liste complète de tous les participants du groupe auquel le robot a été ajouté?Dans python-telegram-bot comment obtenir tous les participants du groupe?

+1

J'ai essayé de rechercher dans la documentation et dans les exemples d'une méthode pour récupérer la liste des participants. Je veux mettre en place un [jeu de mafia comme] (https://en.wikipedia.org/wiki/Mafia_ (party_game)? Oldformat = true). Pour définir les rôles, je dois d'abord obtenir une liste. – Thomas8

Répondre

11

Vous ne pouvez pas avec l'API actuelle, mais vous pouvez rejoindre/quitter les membres utilisateurs via son API.

Si vous cochez l'objet Message vous trouvez:

  • new_chat_participant: Un nouveau membre a été ajouté au groupe, des informations à leur sujet (ce membre peut être le bot lui-même)
  • left_chat_participant : Un membre a été retiré du groupe, des informations à son sujet (ce membre peut être le bot lui-même)

Ces deux informations vous permettent de suivre le nombre total d'utilisateurs dans votre conversation et qui ils sont.

La stratégie de base consisterait à stocker quelque part (comme une base de données) les occurrences de l'adhésion et de la sortie des utilisateurs du groupe.

Lorsqu'un utilisateur rejoint le chat, stockez l'objet Utilisateur dans le stockage. Lorsqu'un utilisateur quitte le chat, supprimez l'objet Utilisateur du stockage.

Eh bien alors faites la logique dont vous avez besoin.

11

En outre, dernière mise à jour de l'API vous permet de:

  • telegram.getChatMembersCount (chat_id): Utilisez cette méthode pour obtenir le nombre de membres dans un chat.

  • telegram.getChatMember (chat_id, user_id): Utilisez cette méthode pour obtenir des informations sur un membre d'un chat.

Vous pouvez combiner avec new_chat_participant et left_chat_participant stratégie, pour générer des informations sur un groupe.

Plus d'informations ici:

+0

Les liens publiés échouent avec 404. –