Consenso Cookie

Questo sito utilizza i cookie per garantire la migliore esperienza possibile. Continuando a navigare, acconsenti al loro utilizzo. Leggi la nostra Privacy Policy.

Da non molto tempo, ho scoperto che Telegram offre una comoda API per programmare i cosiddetti BOT, ovvero delle entità "non umane" che possono essere inserite in gruppo Telegram e interagire con il resto dei membri attraverso delle azioni che possono essere programmaticamente descritte. Ad esempio, è possibile creare un BOT che risponde al comando /classifica inviando un messaggio con la classifica aggiornata delle Serie A (esempio banale!).

La logica di base è piuttosto semplice:

1) Si registra il Bot su Telegram attraverso... un altro Bot (denominato BotFather) che è responsabile per i settaggi principali del Bot stesso (nome, descrizione, immagine profilo, elenco comandi...);

2) Si indica a Telegram, mediate una REST call, l'indirizzo del server da contattare (tipicamente sotto il nostro controllo) tutte le volte che ci sono messaggi per il Bot;

3) Si programma la logica che il Bot deve realizzare ovvero l'insieme di azioni da intraprendere alla ricezione di un messaggio.

Si noti che il Bot può funzionare in due modalità:

- PRIVACY abilitata: il Bot riceve solo i messaggi che iniziano con / (simbolo che indica per convenzione l'inizio di un comando destinato ad un Bot) oppure messaggi in cui il Bot è taggato esplicitamente mediante @.

- PRIVACY disabilitata: il Bot riceve tutti i messaggi inviati nei gruppi di cui fa parte.

Quando c'è un messaggio per il nostro Bot, Telegram contatterà il server specificato al punto 2 attraverso una POST HTTP. Inutile dire che il server che ospita il Bot può essere costruito con le tecnologie e i linguaggi desiderati (ad es. Apache Web Server + PHP oppure Apache Tomcat + Java Servlet e così via). Unica nota: è necessario che il server supporti HTTPS ed è quindi necessario avere un certificato X509. E' anche possibile crearne uno autofirmato e fornirlo al server di Telegram in modo da indicarlo come unico certificato fidato.

I metodi specifici per permettere al Bot di inviare un messaggio nel gruppo (oppure una foto, un audio o qualunque altra cosa) sono ben documentati qui:

telegram logo

Telegram Bot API

Dateci un'occhiata se la cosa vi interessa ;)