Telegram Bot - come ottenere un id per la chat di gruppo?

Sto usando telegram_bot, e cercando di ottenere l'id di groupChat per inviare notifiche alla chat di gruppo, ma non so quali metodi devo usare per questo.

Per ottenere l'id della chat uso message.chat.id quando il bot ha partecipato alla chat, ma che devo usare per ottenere l'id della chat di gruppo non riesco a trovare/

Per ottenere l'id della chat di gruppo, fate come segue:

  1. Aggiungere il BOT di Telegram al gruppo.

  2. Ottieni l'elenco degli aggiornamenti per il tuo BOT:

     https://api.telegram.org/bot/getUpdates

    Es:

     https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates
  3. Cerca l'oggetto "chat":

{"update_id":8393,"message":{"message_id":3,"from":{"id":7474,"first_name":"AAA"},"chat":{"id":,"title":"group name> "},"date":25497,"new_chat_participant":{"id":71,"first_name":"NAME","username":"YOUR_BOT_NAME"}}}

Questo è un esempio della risposta quando aggiungi il tuo BOT in un gruppo.

  1. Usa l'"id" dell'oggetto "chat" per inviare i tuoi messaggi.
Commentari (16)

Ecco la sequenza che ha funzionato per me dopo aver lottato per diverse ore:

Supponiamo che il nome del bot sia my_bot.

**1- Aggiungere il bot al gruppo; Vai al gruppo, clicca sul nome del gruppo, clicca su Aggiungi membri, nella casella di ricerca cerca il tuo bot in questo modo: @my_bot, seleziona il tuo bot e clicca su aggiungi.

2- Invia un messaggio fittizio al bot. Puoi usare questo esempio: /my_id @my_bot
(Ho provato alcuni messaggi, non tutti funzionano. L'esempio sopra funziona bene. Forse il messaggio dovrebbe iniziare con /)

3- Vai al seguente url: https://api.telegram.org/botXXX:YYYY/getUpdates
sostituisci XXX:YYYYY con il tuo token bot

4- Cerca "chat":{"id":-zzzzzzzzzz,
-zzzzzzzzzz è il tuo id di chat (con il segno negativo).

5- Testing: Puoi testare l'invio di un messaggio al gruppo con un curl:

curl -X POST "https://api.telegram.org/botXXX:YYYY/sendMessage" -d "chat_id=-zzzzzzzzzz&text=my sample text"

Se salti il passo 2, non ci sarebbe nessun aggiornamento per il gruppo che stai cercando. Inoltre se ci sono più gruppi, puoi cercare il nome del gruppo nella risposta ("title":"group_name").

Spero che questo aiuti.

Commentari (10)

Puoi recuperare l'ID del gruppo allo stesso modo. Appare nel corpo del messaggio come messaggio.chat.id e di solito è un numero negativo, mentre le chat normali sono positive.

Gli ID di gruppo e gli ID di chat possono essere recuperati solo da un messaggio ricevuto, non ci sono chiamate disponibili per recuperare i gruppi attivi ecc. Devi ricordare l'ID del gruppo quando ricevi il messaggio e memorizzarlo nella cache o qualcosa di simile.

Commentari (1)