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:

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.
13 commenti
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
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
Grazie
Ciao Giorgio!
Grazie a te!
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?
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
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.
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
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.
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?
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
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
Ciao Digien,
Un piacere, a presto!