Creare applicazioni con i bot Telegram
Un percorso operativo pensato per chi si avvicina per la prima volta all'API dei bot Telegram: dai concetti di base alla configurazione, fino a cinque casi d'uso reali con esempi di codice.
Fondamenti
Telegram è, tra le piattaforme di messaggistica, quella con l'onboarding più semplice per uno sviluppatore: non serve un account business, bastano pochi minuti con un bot di sistema.
Bot API
L'interfaccia ufficiale di Telegram per creare bot: un programma che può inviare/ricevere messaggi, gestire gruppi e canali, mostrare pulsanti interattivi.
@BotFather
Un bot di sistema di Telegram: con il comando /newbot crei un nuovo bot e ricevi immediatamente il suo token, senza approvazioni o attese.
Bot Token
Stringa segreta che autentica ogni chiamata: https://api.telegram.org/bot{TOKEN}/METODO. Chi lo possiede controlla il bot.
Webhook o Polling
Due modi per ricevere messaggi: un webhook (Telegram chiama il tuo server) oppure il polling (il tuo server chiede periodicamente "ci sono novità?").
chat_id
Il numero che identifica una chat, un gruppo o un canale: è il destinatario di ogni messaggio che il bot invia.
Differenza chiave con WhatsApp
Telegram non impone una finestra di 24 ore né template approvati: un bot può scrivere in qualsiasi momento a chi ha avviato una chat con /start.
Setup operativo passo-passo
Segui questi quattro passaggi in ordine. Spunta ogni step man mano che lo completi.
01Crea il bot con @BotFather
Apri una chat con @BotFather su Telegram, invia /newbot e segui le istruzioni: scegli un nome visualizzato e uno username che termini in "bot" (es. MioNegozio_bot).
02Conserva il token ricevuto
BotFather ti restituisce subito un token (es. 123456789:AAExxxxxxxxxxxxxxxxxxxxxxxxxxxx). È l'unica credenziale che ti serve: non ci sono altri permessi da richiedere.
03Invia il tuo primo messaggio di prova
Scrivi /start al tuo bot da Telegram (serve per ottenere il tuo chat_id), poi esegui:
curl "https://api.telegram.org/bot{TOKEN}/getUpdates"
curl -X POST "https://api.telegram.org/bot{TOKEN}/sendMessage" \
-d "chat_id={IL_TUO_CHAT_ID}" \
-d "text=Ciao! Questo è il mio primo messaggio via Bot API."
Segna come completato quando ricevi il messaggio su Telegram
04Configura il webhook di ricezione
Per ricevere messaggi in tempo reale senza interrogare continuamente Telegram, imposta un webhook con un URL pubblico HTTPS (in fase di apprendimento puoi usare un tunnel come ngrok):
curl -X POST "https://api.telegram.org/bot{TOKEN}/setWebhook" \
-d "url=https://tuoserver.it/webhook"
Le cinque tipologie di applicazione
Clicca su ciascuna scheda per aprire scenario, esempio di codice e avvertenze.
Assistenza clienti
// Riceviamo l'update dal webhook e rispondiamo in base al testo app.post('/webhook', async (req, res) => { const msg = req.body.message; if (msg?.text?.toLowerCase().includes('orari')) { await sendMessage(msg.chat.id, 'Siamo aperti dal lunedì al sabato, 9-19.'); } res.sendStatus(200); });
Notifiche e alert
curl -X POST "https://api.telegram.org/bot{TOKEN}/sendMessage" \
-d "chat_id={CHAT_ID_CLIENTE}" \
-d "text=Il tuo ordine #12345 è stato spedito! 📦"
Canali di diffusione
curl -X POST "https://api.telegram.org/bot{TOKEN}/sendMessage" \
-d "chat_id=@nomecanale" \
-d "text=Nuova collezione disponibile da oggi! 🛍️"
Chatbot conversazionale
{
"chat_id": "{CHAT_ID}",
"text": "Cosa vuoi fare?",
"reply_markup": {
"inline_keyboard": [[
{ "text": "📦 Traccia ordine", "callback_data": "traccia" },
{ "text": "💬 Parla con operatore", "callback_data": "operatore" }
]]
}
}
Bot e-commerce/community
if (msg.text === '/ordine') { await sendMessage(msg.chat.id, 'Scrivi il codice prodotto che vuoi ordinare.'); sessioni[msg.chat.id] = { stato: 'attesa_codice' }; }
Glossario interattivo
Clicca su un termine per rivelarne la definizione.
Esercitazioni pratiche
Verifica quanto hai appreso con questo quiz di autovalutazione.
Attestato di completamento
Completa tutti i passaggi della Sezione 2 per sbloccare il tuo attestato personale in PDF.