Telegram: ottenere il chat id

di Lorenzo Neri

Ti stai chiedendo come puoi ottenere il chat id all’interno di Telegram? Ne parlo proprio in questo articolo mostrandoti i passi che dovrai fare!

In Telegram devi sapere che ogni singola chat, sia essa fra due persone, con un bot oppure un gruppo, ha il suo identificatore univoco in tutto l’universo Telegram.

Ti stai giustamente chiedendo se sei qui, come puoi ottenere il chat_id: abbiamo bisogno delle API di Telegram, ma per essere più preciso di un chatbot.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Prima di proseguire in questo discorso, devo farti una precisazione: il chat_id che stai cercando, corrisponde anche all’utente, te lo spiego strada facendo.

Ottenere il chat id grazie a MyIDBot

Vediamo il modo più pigro di ottenere questo benedetto chat id 😛

Esiste un chatbot su Telegram accessibile a tutti che si chiama MyIDBot e se provi a inviargli come messaggio “/getid” dovresti ottenere qualcosa di questo tipo:

Una breve ma importante conversazione con MyIDBot

Quel numerino che ho prontamente censurato è appunto il mio chat_id.

Dicevo prima però, che il chat_id non è legato solo alla chat ma anche al mio utente.

Quel numero che ti restituirà MyIDBot è l’identificativo associato al tuo account Telegram.

Questo che cosa significa?

Ti piacerebbe scoprire come realizzare chatbot Telegram per tutti i tuoi progetti?

Scopri il percorso Telegram per il mondo embedded e IoT!

Beh intanto ecco come ottenere il chat id in Telegram, ma sarà lo stesso anche se scriverai ad un altro chatbot.

Per darti la prova, ti spiego il secondo metodo.

Usare le API di Telegram

Il secondo modo per ottenere il chat id di qualcuno oppure di una chat o addirittura di un bot, è sfruttare proprio le API di Telegram, per la precisione il metodo “getUpdates”.

Lasciando ad altri articoli il come funziona “getUpdates ma anche come creare il tuo primo chatbot, ti è sufficiente sfruttare l’URL delle API di Telegram come segue:

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

Ovviamente dovrai inserire il token del tuo chatbot.


Se sono presenti dei messaggi, otterrai in output qualcosa di questo tipo:

{
   "ok":true,
   "result":[
      {
         "update_id":418921702,
         "message":{
            "message_id":6,
            "from":{
               "id":"IL_MIO_CHAT_ID",
               "is_bot":false,
               "first_name":"Lorenzo",
               "username":"Non_Qui",
               "language_code":"it"
            },
            "chat":{
               "id":"IL_MIO_CHAT_ID",
               "first_name":"Lorenzo",
               "username":"Non_Qui",
               "type":"private"
            },
            "date":2342423,
            "text":"ciao"
         }
      }
   ]
}

L’endpoint mi restituisce del JSON e ci sono due oggetti che riguardano l’unico messaggio che per ora è presente.

Gli oggetti di cui parlo sono rispettivamente “from” e “chat”.

Seguendo come da copione la documentazione di Telegram, si tratta rispettivamente di un oggetto di classe User e di un altro oggetto di classe Chat.

Se guardi bene, entrambi hanno un attributo che si chiama “id”.

Quell’attributo è quello che stai cercando di ottenere tu: il tanto agognato chat id di cui stiamo parlando.

Continua a scoprire di più con questi articoli!

13 commenti

Lorenzo 25/02/2022 - 17:19

Se vi risponde con un {“ok”:true,”result”:[]} e nient’altro basta inviare un messaggio nella chat del bot e riprovare.

Fonte:
https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id#comment102539376_32572159

Rispondi
Lorenzo Neri 27/02/2022 - 10:55

Buongiorno Lorenzo e grazie del tuo commento.

Esatto, significa che non ci sono più updates legati al chatbot in quanto sono scaduti tutti da 24 ore.

Tradotto: un nuovo messaggio e passa la paura come giustamente hai riportato te 🙂

A presto

Rispondi
Giorgio 02/04/2022 - 19:13

Grazie

Rispondi
Lorenzo Neri 04/04/2022 - 17:32

Ciao Giorgio!

Grazie a te!

Rispondi
Pietro 04/05/2022 - 14:22

Grazie. Quindi il chatID scade se non ci sono messaggi nell’arco di 24 ore. Se invece ci sono messaggi quotidianamente, sai se il chatID viene comunque reinizializzato o rimane sempre il medesimo?

Rispondi
Lorenzo Neri 04/05/2022 - 15:53

Ciao Pietro,

Grazie per il tuo commento. No, il chatID non scade: esso rimane sempre lo stesso, sono gli updates associati al bot a scadere e dunque essere eliminati dal database di Telegram.

Ti invito a leggere questo ulteriore articolo come approfondimento in merito: https://lorenzoneri.com/telegram-che-cose-e-come-funziona-getupdates/

Un saluto

Rispondi
Luca 28/07/2022 - 09:19

Cosa devo fare invece se la risposta che ricevo è questa:
{“ok”:false,”error_code”:404,”description”:”Not Found”}
Ho seguito i passaggi per la creazione del bot, e quelli per recuperare l’ID, ma non funziona.
Ho provato anche con il bot MyIDBot, ma anche questo non mi restituisce niente.

Rispondi
Lorenzo Neri 03/08/2022 - 12:47

Ciao Luca e grazie per il tuo commento.

Se ciò che succede è questo, è probabile che l’ID sia stato modificato, o la chat non esista più oppure il chatbot ha qualche limitazione imposta da Telegram.

Hai provato ad accedere a Botfather per capire se il chatbot è ancora in grado di poter operare senza limiti?

Un saluto

Rispondi
Lorenzo 03/11/2022 - 19:21

Salve a tutti, mi sto accingendo ora allo sviluppo del mio primo bot telegram in java e ho iniziato dal classico EchoBot. Per far si che io riesca ad ottenere l’id di una chat relativa ad un canale di offerte, devo aggiungere il mio bot alla chat immagino vero? La mia esigenza attuale e’ quella di leggere il contenuto di una chat della quale non conosco l’id per capirci meglio.

Rispondi
Mario 06/05/2023 - 10:59

Ciao Lorenzo, non ho avuto problemi a recuperare il chat_id del mio bot ma come si può fare a recuperare il chat_id del gruppo telegram di cui il bot fa parte?

Rispondi
Lorenzo Neri 11/05/2023 - 16:15

Ciao Mario,

Hai provato a reperire tramite “getUpdates” un eventuale messaggio del gruppo e dunque:

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

Dal JSON reperire l’ID del gruppo?

Fammi sapere, a presto!

Lorenzo

Rispondi
digien 28/08/2023 - 16:49

Ho realizzato con ESP32 un circuito per l’ invio di allarmi su Telegram, e non riuscivo a capire cosa potessi ottenere il chat id. Grazie Lorenzo Neri

Rispondi
Lorenzo Neri 30/08/2023 - 15:56

Ciao Digien,

Un piacere, a presto!

Rispondi

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più