2016-01-02 17 views
10

In Python-telegram-bot come ottenere, se possibile, l'elenco completo di tutti i partecipanti del gruppo a cui è stato aggiunto il bot?In python-telegram-bot come ottenere tutti i partecipanti del gruppo?

+1

Ho provato a cercare nella documentazione e negli esempi di un metodo per recuperare l'elenco dei partecipanti. Voglio implementare un [gioco come la mafia] (https://en.wikipedia.org/wiki/Mafia_ (party_game)? Oldformat = true). Per impostare i ruoli devo prima ottenere una lista. – Thomas8

risposta

11

Non è possibile con l'API corrente ma è possibile il join/l'uscita di membri utente tramite la sua API.

Se si seleziona l'oggetto Message a trovare:

  • new_chat_participant: Un nuovo membro è stato aggiunto al gruppo, informazioni su di loro (a questo utente può essere il bot stesso)
  • left_chat_participant : Un membro è stato rimosso dal gruppo, informazioni su di loro (questo membro potrebbe essere il bot stesso)

So wi Con queste due informazioni puoi tenere traccia del numero totale di utenti nella tua chat e di chi sono.

La strategia di base sarebbe quella di memorizzare da qualche parte (come un database) le occorrenze di unire e uscire dagli utenti dal gruppo.

Quando un utente accede all'archivio chat, l'oggetto Utente all'archiviazione. Quando un utente esce dalla chat cancella l'oggetto Utente dalla memoria.

Bene, allora fai la logica di cui hai bisogno.

11

Inoltre, ultimo aggiornamento API consente di:

  • telegram.getChatMembersCount (chat_id): utilizzare questo metodo per ottenere il numero di membri in una chat.

  • telegram.getChatMember (chat_id, user_id): utilizzare questo metodo per ottenere informazioni su un membro di una chat.

È possibile combinare con new_chat_participant e left_chat_participant strategia, per costruire informazioni su un gruppo.

Maggiori informazioni qui:

+0

I collegamenti inviati non funzionano con 404. –

Problemi correlati