2016-01-02 7 views
10

In Python-telegram-bot wie zu bekommen, wenn möglich, die vollständige Liste aller Teilnehmer der Gruppe, bei denen der Bot hinzugefügt wurde?In Python-Telegramm-Bot, wie alle Teilnehmer der Gruppe zu bekommen?

+1

Ich habe versucht, in der Dokumentation und in den Beispielen für ein Verfahren zur Suche die Liste der Teilnehmer abzurufen. Ich möchte ein [Mafia-Spiel wie] (https://en.wikipedia.org/wiki/Mafia_ (party_game)? Oldformat = true) implementieren. Um die Rollen festzulegen, muss ich zuerst eine Liste erstellen. – Thomas8

Antwort

11

Sie können nicht mit der aktuellen API, aber Sie können den Beitritt/Austritt von Benutzer-Mitgliedern über seine API.

Wenn Sie das Message Objekt überprüfen finden Sie:

  • new_chat_participant: Ein neues Mitglied wurde zu der Gruppe hinzugefügt, Informationen über sie (dieses Mitglied kann der Bot selbst sein)
  • left_chat_participant : Ein Mitglied wurde aus der Gruppe entfernt, Informationen über sie (dieses Mitglied kann der Bot selbst sein)

So wi Mit diesen beiden Informationen können Sie die Gesamtzahl der Nutzer in Ihrem Chat verfolgen und wer sie sind.

Die grundlegende Strategie wäre, irgendwo (wie eine Datenbank) das Auftreten von Beitritt und Austritt von Benutzern aus der Gruppe zu speichern.

Wenn ein Benutzer dem Chatspeicher das Objekt Benutzer zum Speicher beitritt. Wenn ein Benutzer den Chat beendet, löschen Sie das Objekt Benutzer aus dem Speicher.

Nun, tun Sie die Logik, wie Sie brauchen.

11

Auch neueste API-Update ermöglicht Ihnen:

  • telegram.getChatMembersCount (chat_id): Mit dieser Methode können die Anzahl der Mitglieder in einem Chat bekommen.

  • telegram.getChatMember (Chat-ID, Benutzer-ID): Verwenden Sie diese Methode, um Informationen zu einem Mitglied eines Chats zu erhalten.

können Sie kombinieren mit new_chat_participant und left_chat_participant Strategie, Informationen über eine Gruppe aufzubauen.

Weitere Informationen hier:

+0

Die angegebenen Links schlagen bei 404 fehl. –