1. Telegram

Come creare un bot Telegram

Fino a qualche tempo fa, WhatsApp era senza dubbio l’applicazione di messaggistica istantanea più utilizzata al mondo. Dopo una serie di problemi tecnici però, sempre più utenti hanno deciso di migrare verso Telegram. E se stai leggendo questo articolo, molto probabilmente anche tu fai parte di questo gruppo. Ad accomunare le due applicazioni sono solamente le funzioni di base, che permettono di chattare con altre persone inviando contenuti multimediali, testuali o messaggi audio.

Dal punto di vista delle funzionalità avanzate, invece, Telegram è cresciuta molto negli ultimi anni, aggiungendo una serie di caratteristiche uniche, che hanno dato ad essa “una marcia in più” rispetto a WhatsApp. Una di queste, è rappresentata dai bot, ovvero dalle applicazioni integrate nella chat che permettono di eseguire svariate funzioni automatiche tramite API. Nella guida che segue, infatti, ti parlerò proprio di come creare un bot Telegram, così da aiutarti a sviluppare un’app tutta tua, che potrà essere utilizzata anche dagli altri utenti. Non essendo un tutorial semplice, però, ti dico subito che dovrai dedicarmi un po’ più di tempo rispetto al solito.

Indice

Cos’è un bot Telegram

come creare un bot Telegram

Stai cercando di capire cos’è un bot Telegram? Niente paura! Pure io le prime volte che ho utilizzato quest’applicazione non avevo la minima idea di come funzionassero i bot. In realtà, il meccanismo che li regola è più semplice di ciò che pensi e facilmente comprensibile.

Un bot Telegram altro non è che un utente del sistema di messaggistica, di tipo pubblico, che consente di svolgere alcune attività in maniera automatica. Dietro a questo utente, però, c’è un’applicazione, che svolge in automatico determinate funzioni per le quali è stata sviluppata. Ovviamente, non si tratta di operazioni troppo complicate, ma di piccoli servizi che possono semplificare molto la vita quotidiana.

Tipologie di bot

I tipi di bot Telegram attualmente disponibili sono due:

  • Bot Telegram stand-alone
  • Bot Telegram inline

I bot di tipo stand-alone sono degli utenti tramite i quali è possibile interagire su delle chat singole e indipendenti. Tramite l’inserimento di determinati comandi, è possibile eseguire varie operazioni automatizzate.

I bot di tipo inline, invece, sono delle app che, solitamente, vengono integrate nei gruppi. Esse permettono di lanciare delle operazioni automatizzate nella chat multipla. Queste funzioni, ovviamente, vengono decise dagli amministratori del gruppo.

Ogni bot Telegram, comunque, viene identificato da un Token. Si tratta di un codice di identificazione univoco, che viene utilizzato dalle API e dalle applicazioni per recuperare e accedere al servizio. Di seguito, ti spiegherò più nel dettaglio di cosa si tratta.

Per quanto riguarda i comandi da inserire, è sufficiente leggere il menu integrato nella chat, che funge da legenda. In esso, appunto, è contenuta la maggior parte dei comandi supportati dal bot.

Cosa si può fare con un bot Telegram

Le attività che possono essere svolte con un bot Telegram sono parecchie e sono sicuro che molte di esse ancora non le conosci.

Le funzioni offerte sono davvero tante. Si va dai servizi di news all’invio di file tramite servizi esterni, senza dimenticare la possibilità di tenere sotto controllo i prezzi Amazon. Ci sono poi dei bot che permettono di giocare nella chat ed anche quelli che consentono di ricevere pagamenti dagli utenti in cambio di beni e servizi.

Nelle grandi città poi, come Roma, Milano o Torino, non mancano i bot Telegram per gli orari dei mezzi pubblici. Utilizzandoli, nella maggior parte dei casi, ti basterà inserire il numero della fermata alla quale sei più vicino per ricevere gli orari di arrivo di bus e tram in tempo reale.

Non dimenticare poi che esistono bot Telegram di tutti i tipi per quanto riguarda la ricerca dei contenuti multimediali. Tramite queste applicazioni sarà infatti possibile cercare video YouTube, GIF o semplici immagini online. Non solo: è possibile anche effettuare lo streaming di film e musica.

Elencare tutti i bot Telegram che ritengo utili in questo paragrafo sarebbe alquanto arduo. Se però ritieni interessante questo argomento, ti consiglio di dare un’occhiata alla mia guida sui migliori bot Telegram. Inoltre, ti suggerisco di leggere l’introduzione ai bot scritta dal team di Telegram.

Come si interagisce con un bot Telegram

come creare un bot Telegram esempio TrackBot

Se non hai mai utilizzato un bot Telegram, devi sapere che, a differenza della sua creazione, si tratta di un’operazione molto semplice e alla portata di tutti.

In alcuni casi, infatti, si è diffusa la credenza che per poter utilizzare questi servizi sia necessario conoscere linguaggi complessi: niente di più falso. I bot Telegram sono nati proprio per semplificare l’approccio degli utenti rendendo l’utilizzo adatto a tutti.

Per usare un bot Telegram, innanzitutto devi trovarlo e avviarlo all’interno dell’applicazione di messaggistica. Dopo di che, nel primo messaggio ricevuto, ti verranno mostrati dei comandi (spesso sotto forma di pulsanti). Grazie ad essi, è possibile eseguire le varie operazioni supportate.

Quello che puoi visualizzare nell’immagine di esempio, è un bot che si occupa di tracciare le spedizioni e si chiama TrackBot. La sua funzione è quella di controllare lo stato della spedizione in tempo reale, evitando la navigazione sui siti web dei corrieri. Come puoi vedere, la sua legenda dei comandi è facilmente accessibile e molto chiara.

Come controllare il proprio bot Telegram

E se invece sei intenzionato a creare un bot Telegram, come puoi fare per controllarlo? In questo caso, il percorso è un po’ più complicato, anche se ci sono delle alternative che permettono di semplificare l’operazione.

Le prime tre cose di cui avrai bisogno saranno (in ordine):

  • Un nome che identifichi il bot Telegram
  • Il link alle API Telegram
  • Il Token del tuo bot Telegram

Se scegliere il nome è davvero semplice, non possiamo dire altrettanto per le API e per i Token. Se non ti sei mai avvicinato a questo mondo, infatti, avrai sicuramente bisogno di un breve focus sull’argomento.

API bot Telegram

Le API non sono un’esclusiva di Telegram, ma vengono utilizzate da tempo nel mondo della programmazione. Questo acronimo significa Application Programming Interface. Si tratta dunque di funzionalità e procedure standard che possono essere utilizzate da terze parti per interagire con app e servizi.

In questo caso, le due parti “chiamate in causa” saranno Telegram, che mette a disposizione la sua piattaforma, e il bot che hai intenzione di creare. Per far comunicare tra loro questi due elementi, dovrai utilizzare le API dei bot Telegram.

Token

Un Token, nel linguaggio informatico, altro non è che un insieme di caratteri e numeri che contiene al suo interno una certa quantità di informazioni.

Per quanto riguarda Telegram, l’utilizzo del Token è legato all’accesso al bot che hai intenzione di creare. In questo modo, infatti, viene creata una connessione criptata con una chiave di accesso univoca, il Token appunto, al fine di non dover inserire ogni volta una password. Ulteriori informazioni sull’autenticazione del bot, puoi trovarle in questa pagina del supporto Telegram.

Creazione di un bot Telegram con BotFather

come creare un bot Telegram BotFather

Soprattutto se sei un newbie su questo argomento, il primo passo da fare per creare un bot Telegram consiste nel prendere dimestichezza con BotFather. Si tratta di un bot ufficiale che permette di creare altri bot Telegram, riuscendo così a semplificare, di gran lunga, l’interfacciamento con le API.

Per procedere, recati innanzitutto a questo indirizzo e concedi l’autorizzazione per avviare il bot su Telegram. Per farlo, ti basterà premere sul pulsante Apri Telegram, proprio come indicato nella schermata a video.

Adesso, verrai riportato all’interno dell’applicazione, dove BotFather si aprirà come se fosse una normale chat. Per iniziare la configurazione del tuo bot Telegram, premi il pulsante Avvia che trovi in basso.

come creare un bot Telegram esempio chat BotFather

Ti verranno restituiti una serie di comandi, che ti permetteranno di utilizzare tutte le funzioni di BotFather. Per creare il tuo primo bot tocca /newbot, che dovrebbe essere la prima opzione fra quelle disponibili.

Ora, scegli il nome del tuo bot Telegram. Ti consiglio di optare per una soluzione facilmente memorizzabile, che abbia un impatto sugli utenti che intendi coinvolgere. Una volta scritto nello spazio riservato ai messaggi, fai tap su Invia.

Il prossimo passaggio prevede di scegliere un username per il bot, che sarà anche la scorciatoia con la quale potrà essere richiamato dagli utenti. Non è necessario che sia identico al nome visualizzato. In questo caso, infatti, ho deciso di utilizzare il nickname wordsm_bot.

Se l’username fosse disponibile, ti verrà restituito un messaggio di conferma. In esso, sarà presente anche il token, essenziale per accedere alle API di Telegram basate su HTTP. Se l’username fosse già stato scelto da altri utenti, invece, BotFather te ne proporrà uno simile.

Per completare la pre-configurazione del bot Telegram, ti consiglio inoltre di utilizzare questi tre brevi comandi, che puoi digitare nella chat con BotFather:

  • /setdescription – permette di cambiare la descrizione del bot
  • /setabouttext – consente di selezionare le info da mostrare nel bot
  • /setuserpic – dà la possibilità di scegliere l’immagine profilo del tuo bot

Ma non è tutto: come ti dicevo, queste sono soltanto le procedure iniziali per creare un bot Telegram. Per farla più semplice, così facendo creerai un utente bot privo di funzionalità, ovvero una chat vuota e senza automatismi.

Pertanto, adesso dovrai programmare le opzioni che il tuo bot dovrà supportare. Successivamente, dovrai associarle al bot tramite le API di Telegram. Prosegui la lettura per capire come fare.

Requisiti

Se utilizzare BotFather per generare la “facciata del servizio” che vuoi offrire agli utenti è davvero un gioco da ragazzi, non si può dire lo stesso per la sua concreta realizzazione. Infatti, per creare un bot Telegram che funzioni nel modo giusto, come ti dicevo nella premessa, è necessario avere delle basi di programmazione.

Telegram infatti recepisce sia il linguaggio Java che quello Python, due lingue di programmazione per tua fortuna non troppo complicate (almeno nelle basi). Non dimenticare però che, oltre a questi linguaggi di programmazione, puoi scegliere anche Basic, C, C+, COBOL, FORTRAN, AdaPascal e altri.

Inoltre, per inserire lo sviluppo dei comandi che vorrai “agganciare” al tuo bot Telegram, avrai bisogno di un servizio di hosting virtuale. Per questo argomento, ti consiglio di dare un’occhiata alla mia guida dedicata all’hosting di un blog, dove potrai trovare le migliori alternative attualmente disponibili.

Se non hai grandi pretese o vuoi semplicemente testare le tue abilità, puoi anche scegliere di utilizzare Hook.io. Si tratta di un sito web che dà la possibilità di creare piccole applicazioni con dei limiti di accesso fissati a 1000 richieste al mese. Questo servizio ha un costo di 2,00$ al mese per la versione base. Inizialmente, però, dovresti riuscire a sfruttare la prova gratis di 60 giorni. Per registrarti, ti basterà raggiungere la pagina ufficiale e creare un nuovo account oppure effettuare il login con il profilo GitHub.

Se non hai conoscenze nella programmazione di app e software, ti suggerisco di andare dritto a questo punto del tutorial. Potrai avere maggiori informazioni circa i corsi da seguire e le eventuali alternative ai bot.

Manuale API bot Telegram

Come ormai avrai capito, le API dei bot Telegram sono necessarie per qualsiasi azione tu voglia intraprendere con il servizio che hai creato o che vuoi creare.

Solitamente, questi comandi vengono suddivisi in diverse categorie, che permettono appunto di eseguire diverse operazioni. Le più importanti, sono le seguenti:

  • Autorizzare il bot Tramite la creazione di un Token
  • Effettuare richieste tramite HTTPS
  • Effettuare richieste durante la ricezione di un aggiornamento
  • Ricevere gli aggiornamenti
  • Dati disponibili e rappresentati come oggetti JSON
    • Utente
    • Chat
    • Messaggi
    • Dimensioni foto
    • Audio
    • Documenti
    • Video
    • Animazioni
    • Note vocali
    • Note video
    • Contatti
    • Localizzazione
    • Sondaggi
    • File
    • Login
    • Foto della chat
    • Permessi di chat
  • Aggiornamento dei messaggi
  • Stickers
  • Modalità inline

Elencare tutto il manuale API dei bot Telegram in questo paragrafo ti assicuro che sarebbe impossibile, a causa delle centinaia di comandi presenti al suo interno. Per tua fortuna, tutto questo elenco è racchiuso in questa pagina delle FAQ avanzate di Telegram.

Aggiornamenti del bot Telegram

Prima di mostrarti nel dettaglio come creare un bot Telegram, devi sapere che, se in futuro dovrai aggiornare il bot, il servizio di messaggistica istantanea ti offre senza problemi questa possibilità.

I metodi di update messi a disposizione sono:

  • setWebhooks
  • getUpdates

La differenza sostanziale, è che il primo metodo è di tipo pull, mentre il secondo è di tipo push ed usa il cosiddetto polling lungo. In entrambi i casi, però, l’output sarà sempre un update in formato JSON. Questo risultato sarà conservato sul server per 24 ore.

Ti suggerisco di procedere con la lettura degli approfondimenti per capire più nel dettaglio in cosa consistono gli webhook.

Webhook

A differenza del metodo push, la procedura che utilizza gli webhook permette di ottenere numerosi vantaggi, fra i quali le possibilità di risparmiare dei cicli di CPU e di aumentare la velocità di risposta.

Per utilizzare questo metodo però, il server di background del bot dovrà soddisfare i seguenti requisiti:

  • Supportare IPv4
  • Accettare chiamate in entrata dalle sottoreti 149.154.160.0/20 e 91.108.4.0/22 tramite le porte 443, 80, 88 o 8443
  • Capacità di utilizzare il traffico HTTPS di tipo TLS1.0+
  • Supportare i certificati verificati
  • Usare un CN o SAN che supporti il dominio che hai scelto durante il setup
  • Fornire tutti i certificati che compongono una catena di verifica

Visto che gli aggiornamenti del bot Telegram sono un argomento piuttosto complesso, ho deciso di affidarmi, almeno per questa volta, alle FAQ di Telegram correlate agli webhook. Ti ricordo, comunque, che le subnet citate sopra possono essere utilizzate da Luglio 2019, ma potrebbero variare nel tempo. Cercherò di mantenere aggiornate le informazioni. Tuttavia, per esser certo di non sbagliare, controlla anche la pagina di approfondimento.

Per ultimo, potrebbe esserti utile controllare il changelog delle API dei bot Telegram. Lo trovi a questo indirizzo del sito di Telegram.

Esempio pratico di bot Telegram con BotFather

come creare un bot Telegram esempio Hook.io

Ora che hai compreso più dettagliatamente il funzionamento dei bot, è il momento di vedere nello specifico come creare un bot Telegram. Ti farò un piccolo esempio avvalendomi della piattaforma Hook.io, già nominata qualche paragrafo più su. In questo caso, il bot Telegram non sarà nulla di complicato, ma servirà soltanto a ripetere ciò che scriverai nella chat tramite la tastiera del tuo smartphone, tablet o PC.

Il primo passo che ti consiglio di fare, è quello di memorizzare il token Telegram che hai ricevuto da BotFather (come ti ho illustrato nel punto precedente). Lo devi incollare nell’apposito spazio di Hook.io premendo sulle tre levette presenti nella parte centrale dello schermo, nel campo contrassegnato dalla voce Value. Nel campo Key, invece, dovrai inserire la chiave di riconoscimento, che nel mio caso è token_wordsmart.

Adesso, sempre nella pagina principale, seleziona la voce Create new service, che trovi nella barra superiore. Ora inserisci il nome del tuo servizio e premi il pulsante blu denominato Save and Continue.

Siamo arrivati alla fase cruciale della guida, dove dovrai inserire i comandi per utilizzare il bot Telegram che stai creando. Per prima cosa, per quanto riguarda l’opzione Language, seleziona dall’elenco il linguaggio Python (per l’esempio ho scelto questo linguaggio di programmazione, ma a seconda delle tue abilità, puoi utilizzare quello che ritieni più adatto).

Adesso, elimina tutto ciò che trovi nella casella per gli input comandi e incolla le seguenti righe di codice:

import requests
messaggio-wsm=Hook['params']['message']['text']
ID-conversazione-wsm=Hook['params']['message']['chat']['id']
URL='https://api.telegram.org/bot' + Hook['env']['token_wordsmart'] + '/sendMessage'
req=requests.get(URL,verify=False,data={'chat_id':ID-conversazione-wsm,'text':messaggio-wsm})

Non dimenticare però di sostituire il termine token_wordsmart (evidenziato di colore verde) con la stringa alfanumerica che hai ricevuto da BotFather, altrimenti il tuo bot Telegram non riuscirà a comunicare adeguatamente con la piattaforma.

Se non sei pratico del linguaggio Python, o se ti stai avvicinando per la prima volta a questo mondo, ti spiego brevemente cosa significano i comandi che ho appena inserito:

  • import requests – inserisce nel tuo servizio la libreria Python che vuoi utilizzare, in maniera tale da poterla sfruttare a dovere
  • messaggio-wsm – copia il testo che inserisci nel bot Telegram dalla tastiera
  • ID-conversazione-wsm – identifica univocamente la chat Telegram per rispedire il messaggio a quella corretta
  • URL – serve per inviare la richiesta HTTP dal bot al servizio che hai creato su Hook.io
  • req – questo comando crea la risposta da inviare su Telegram e la spedisce tramite chat

Approfondimenti e tutorial specifici

In questa sezione, ho intenzione di inserire alcuni approfondimenti particolarmente interessanti in cui mi sono imbattuto. Essi rispondono alle domande che, solitamente, la maggior parte degli utenti si fa a riguardo della programmazione di un bot Telegram.

Si tratta di guide esterne, in lingua inglese, ma sono sicuro che non avrai particolari problemi a comprenderle.

Creazione bot Telegram senza programmare

come creare un bot Telegram programmazione

Creare un bot Telegram senza programmare è un’impresa tutt’altro che semplice. Come ti ho mostrato in precedenza, infatti, quando vuoi inserire all’interno un servizio funzionante, dovrai necessariamente inserire delle righe di codice con la corretta sintassi.

In questo caso, quindi, almeno per la parte preliminare, potresti utilizzare BotFather per creare le basi del tuo bot Telegram. Se andassi a vedere fra i comandi disponibili, infatti, vedresti che sono presenti anche quelli per inserire una lista di comandi pre-configurati. L’esperienza utente, però, sarebbe molto limitata.

In alternativa, cosa molto interessante, potresti pensare di utilizzare Udemy. Questa piattaforma web integra migliaia di corsi online per gli argomenti più disparati. Ovviamente, sono presenti anche quelli per creare un bot Telegram. E non farti spaventare dai prezzi: spesso, Udemy propone delle offerte davvero allettanti, con i corsi più costosi in sconto fino al 90%.

Come altra scelta, potresti creare un canale Telegram anziché un bot. Avresti così a disposizione una tua chat broadcast, a cui gli utenti potrebbero iscriversi.

Creazione bot Telegram con Laravel

come creare un bot Telegram con Laravel

Sai cos’è Laravel? Si tratta di una novità che ha colpito l’interesse dei programmatori e che porta con sé una serie di funzionalità molto promettenti. Più precisamente, Laravel è un framework PHP nato nel 2011, orientato verso la programmazione a oggetti. I punti di forza di Laravel sono senza dubbio la sua semplicità e la facilità con cui può essere eseguita la manutenzione del codice.

In attesa di un approfondimento su questo framework PHP, ho scovato in rete una guida davvero interessante, che illustra proprio come creare un bot Telegram con Laravel. L’esempio descrive il procedimento per lanciare un bot Telegram che preleva i dati delle criptovalute in tempo reale dai mercati globali. Puoi trovarlo a questo link e ti consiglio caldamente la sua lettura.

Creazione bot Telegram con Python

come creare un bot Telegram con Python

Python è un linguaggio di programmazione di alto livello, orientato verso gli oggetti e molto utilizzato. Nato negli anni novanta, esso deve il suo nome ai Monty Python, una serie televisiva che ha fatto la storia, soprattutto nel Regno Unito.

I punti a favore di Python sono senza alcun dubbio dinamicità, semplicità e flessibilità. Proprio tali caratteristiche rendono questo linguaggio di programmazione perfetto per i tuoi scopi.

Se quindi volessi creare un bot Telegram con Python, dovresti assolutamente leggere questo approfondimento. In esso, trovi un esempio riguardante un bot che scrive il testo dei messaggi al contrario.

Creazione bot Telegram con Java

come creare un bot Telegram con Java

Il linguaggio di programmazione Java è sicuramente uno dei più utilizzati a livello mondiale. Anche in questo caso, si tratta di un’opzione orientata verso la programmazione a oggetti. Esso poggia le sue basi sulla piattaforma software che gli ha dato il nome, di proprietà di Sun Microsystem.

Java è molto utilizzato quando si realizzano applicazioni per dispositivi mobili, soprattutto per Android. Proprio per questo motivo, potrebbe essere molto interessante creare un bot Telegram con Java.

Dopo un’attenta ricerca in rete, ho trovato questa guida che può fare al tuo caso. Essa descrive i passaggi per la creazione di un bot che invia le foto agli utenti in base agli emoji. Il tutorial comprende tutti gli approfondimenti del caso, dalla creazione del database con MongoDB all’integrazione con Redis.

Creazione bot Telegram con Node.js

come creare un bot Telegram con Node.js

Node.js non è un vero e proprio linguaggio di programmazione. In realtà si tratta di una runtime legata a JavaScript Open Source, una piattaforma orientata per l’esecuzione di codice lato server. Gli script java vengono infatti incorporati all’interno del codice HTML di una pagina web e interpretati dal browser.

È l’ideale per i browser game e per le applicazioni che necessitano di una comunicazione in tempo reale. Proprio per questo motivo, può essere particolarmente interessante creare un bot Telegram con Node.js.

Per farlo, però, hai bisogno di un tutorial ben realizzato, che per tua fortuna, puoi trovare a questo link. Laggiù, troverai tutti i pacchetti node.js per Windows, Linux e macOS. Inoltre, potrai consultare un esempio che illustra, passo dopo passo, la generazione di un bot che risponde ai messaggi con “Hello World”.

Creazione bot Telegram con PHP

come creare un bot Telegram con PHP

PHP (acronimo di Personal Home Page) è un linguaggio utilizzato per la programmazione di pagine web dinamiche. Meno diffuso in passato, oggi PHP è presente praticamente in qualsiasi sito internet. Il suo utilizzo è sfruttato anche per creare applicazioni web lato server o applicazioni stand-alone.

Nato nel 1994 grazie a un programmatore Danese, inizialmente PHP venne utilizzato per molti progetti open source legati a Internet. In seguito, questo linguaggio ha avuto una notevole espansione, con conseguenti aggiornamenti.

Anche in questo caso, se volessi realizzare un progetto particolare, potresti creare un bot Telegram con PHP. Per apprendere le basi e capire le dinamiche da utilizzare, ti basterà leggere attentamente questo manuale tecnico su GitHub.

Altri esempi di bot Telegram e documentazione

Non hai ancora capito quale strada vuoi percorrere per creare un bot Telegram? Non preoccuparti, spesso ci si avvicina a un argomento del genere con un po’ di sana curiosità, andando poi a selezionare le nicchie più interessanti.

Proprio per questo motivo, ti consiglio di dare un’occhiata a questa pagina del centro assistenza di Telegram, in cui potrai trovare numerosi esempi di bot e tantissima documentazione correlata.