Passa ai contenuti principali

bot di Telegram

 

Cosa sono i bot di Telegram

Come creare un bot su Telegram

Prima di passare all’azione e creare un bot su Telegram, è bene chiarire nel dettaglio cosa sono i bot di Telegram e perché riscuotono così tanto successo. In linea generale, un bot altro non è che un “utente” di Telegram non umano, composto principalmente da righe di codice caricate su una piattaforma di microservizi, in grado di svolgere azioni (qualche volta anche complesse) in modo del tutto automatico, ricevendo sotto forma di richieste HTTP i comandi impartiti dall’utente tramite la chat di Telegram.

Principalmente, esistono due tipi di bot Telegram: il bot standalone, quello dotato di una finestra di chat autonoma in cui impartire i comandi, e il bot inline, quello che può essere richiamato da altre finestre di chat (singole o gruppi) tramite il comando @nomebot. Ciascun bot di Telegram viene identificato univocamente da un token: una sequenza di numeri e lettere usata dalle applicazioni Web e dalle API per riferirsi al bot stesso.

Per chiarirti meglio le idee voglio farti un esempio pratico: in condizioni normali, tracciare un pacco in transito presso un corriere significa collegarsi al sito Internet del corriere stesso, inserire il numero di tracking nella casella proposta, compilare i campi necessari e consultare, sul momento, lo stato del pacco. Per ottenere gli aggiornamenti di stato, nella maggior parte dei casi, bisogna avere cura di ritornare sul sito e ripetere la procedura.

Con TrackBot, uno dei migliori bot stand-alone per Telegram, la musica cambia: si tratta di un bot creato da quattro programmatori italiani, che permette di tracciare una spedizione a partire dal suo codice di tracking e di ricevere gli aggiornamenti di stato in modo del tutto automatico. Per usarlo, è sufficiente cercarlo all’interno di Telegram e impartire i comandi necessari (illustrati dal bot stesso) per aggiungere il numero di tracking del pacco, dopodiché il bot si interfaccia con il servizio Internet del corriere (ad es. GLS) e, in modo del tutto automatico, invia un messaggio di chat all’utente nel momento in cui il pacco cambia stato (ad es. In transitoIn consegna o Consegnato).

Per quanto riguarda i bot inline, posso invece farti l’esempio di @gif: digitando il comando @gif parola_chiave all’interno di una finestra di chat, verranno proposte le GIF animate corrispondenti alla parola chiave inserita, prelevate direttamente dal portale Giphy e pronte per essere inviate nelle chat. TrackBot e Giphy sono soltanto due esempi di ciò che sono in grado di fare i bot Telegram: puoi trovare una lista di bot utili per ogni evenienza nella mia guida approfondita sui migliori bot Telegram.

Tornando a noi, il funzionamento di base di un bot di Telegram segue lo schema che ti illustro di seguito.

  • Il bot viene aggiunto tramite l’area di ricerca di Telegram (standalone) o richiamato all’interno di una chat esistente (inline).
  • Dopo averlo avviato, l’utente digita un comando nella finestra di chat (standalone) oppure dopo la stringa @nomebot (inline).
  • Il comando digitato viene inviato alla piattaforma di microservizi, che si occupa di interpretarlo, eseguirlo e generare la risposta HTTP.
  • Telegram riceve la risposta HTTP e il relativo bot la “scrive” nella finestra di chat.

Creazione di un bot su Telegram

Ora che hai le nozioni di base riguardanti i bot di Telegram, scommetto che non vedi l’ora di crearne uno tutto tuo. Inizio col dirti che la creazione di un bot “vuoto” è estremamente semplice: la parte un po’ più complicata, quella che richiede accenni di programmazione, riguarda invece ciò che concerne il comportamento del bot, cioè la capacità di ricevere ed eseguire i comandi impartiti dall’utente.

Come ti ho già accennato, questa operazione viene eseguita tramite delle richieste HTTP che fanno da “canale di comunicazione” tra Telegram e lo spazio Web che contiene l’applicazione associata: quest’ultima, di fatto, elabora i comandi e ne invia le risposte alla chat di Telegram corrispondente al bot (a sua volta formata da metodi e in cui possono essere sfruttate API di servizi di terze parti).

Come dici? Hai bene inteso il funzionamento di un bot, ma non hai la più pallida idea di cosa fare? Non preoccuparti, di seguito ti fornisco le istruzioni per creare il tuo primo bot Telegram che, semplicemente, “ripete” ciò che viene scritto nella sua finestra di chat.

Tanto per cominciare, devi creare un nuovo bot “vuoto” usando BotFather, il bot Telegram “papà” di tutti gli altri bot: avvia Telegram, pigia sulla lente d’ingrandimento collocata nella parte alta della finestra, digita la parola Botfather all’interno della casella di testo e pigia sul primo risultato ricevuto, quello contrassegnato da un piccolo segno di spunta blu (che identifica i bot ufficiali). In alternativa, se vuoi fare prima, clicca qui e accetta di aprire il bot in Telegram. Fatto ciò, pigia sul pulsante Avvia collocato nella finestra di chat, dopodiché digita il comando /newbot seguito da Invio, nella casella di testo, per avviare la procedura di creazione.

A questo punto, BotFather ti porrà una serie di domande sulla configurazione iniziale del tuo bot: per prima cosa, scegli un nome (ad es. Bot Eco), digitalo nella casella di testo e pigia Invio, successivamente scegli un username (ricordando che deve necessariamente terminare con la parola bot, ad esempio ripetizione_bot) e pigia ancora Invio. In questo modo verrà creato un bot, che per il momento non farà nulla ma ti fornirà un token mediante il quale poi metterlo in funzione: annota quindi il token e conservalo con cura, senza rivelarlo a nessuno (poiché chiunque possieda quel codice sarà in grado di controllare il bot). Seguendo una procedura simile, puoi usare i comandi /setdescription/setabouttext e /setuserpic per impostare, rispettivamente, una descrizione del bot, un piccolo testo introduttivo e un avatar personale.

Fatto ciò, hai bisogno di uno spazio Web dedicato alle istruzioni (in questa guida useremo il linguaggio Python) da impartire al tuo bot: per questa volta ho scelto Hook.io, una piattaforma in grado di ospitare microservizi (cioè piccoli pezzi di codice che eseguono operazioni), utilizzabile anche gratuitamente con un limite mensile di chiamate a servizio.

Tuttavia, per poter realizzare un bot che interagisce con Telegram, è indispensabile sottoscrivere un piano a pagamento, con prezzi a partire da 2$/mese. Ad ogni modo, per iscriverti a Hook.io, collegati a questa pagina Internet, inserisci il tuo indirizzo di posta elettronica nella casella Email Address collocata nel riquadro New Developers e premi sul pulsante Create new account.

A questo punto, seleziona il piano a pagamento che desideri attivare facendo clic sul relativo prezzo (ad es. $2), immetti le informazioni relative alla tua carta di credito nell’apposito campo e, quando richiesto, clicca sul pulsante indicante il nome e il prezzo del piano scelto, per passare alla fase successiva.

A questo punto, segui la procedura guidata per la creazione del nome utente e della password da usare per accedere al servizio, pigia sul pulsante Register Account Name e annota l’indirizzo Web del tuo account che compare nella parte destra della schermata (https://hook.io/tuonomeaccount), poiché ne avrai bisogno in seguito.

Hook - Piattaforma microservizi

Completata la fase di creazione dell’account, verrai riportato alla pagina di gestione dei servizi: per iniziare, memorizza il token ricevuto in precedenza da BotFather, così da poterlo richiamare semplicemente invocando una variabile all’interno del codice (senza necessità di riscriverlo ogni volta). Clicca quindi sull’icona contrassegnata da tre levette di controllo presente nella pulsantiera del servizio (la seconda da sinistra), inserisci nel campo Key il nome della variabile (ad es. token_ripeti), incolla nel campo value il token generato da BotFather e pigia sul pulsante Save Account Environment Variables.

Fatto ciò, è arrivato il momento di creare il vero e proprio servizio che farà funzionare il bot di Telegram: clicca sulla voce Create new service collocata nella barra in alto, digita il nome che desideri dare al tuo servizio (ad es. ripeti-bot) e pigia sul pulsante Save and continue. Nella finestra successiva, imposta la voce Python 3 nel menu a tendina Language, cancella tutto ciò che è scritto nella casella di testo presente poco più in basso e incolla la parte di codice che permette al bot di “ripetere” i messaggi ricevuti, così come è scritta di seguito.

import logging

from telegram import Update, ForceReply
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO
)

logger = logging.getLogger(__name__)

def start(update: Update, context: CallbackContext) -> None:

user = update.effective_user
update.message.reply_markdown_v2(
fr'Hi {user.mention_markdown_v2()}\!',
reply_markup=ForceReply(selective=True),
)

def help_command(update: Update, context: CallbackContext) -> None:
update.message.reply_text('AIUTO!')

def echo(update: Update, context: CallbackContext) -> None:
update.message.reply_text(update.message.text)

def main() -> None:
updater = Updater("token_ripeti")

dispatcher = updater.dispatcher

dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("help", help_command))

dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

updater.start_polling()

updater.idle()

if __name__ == '__main__':
main()

Ricorda di sostituire a token_ripeti il nome della variabile ambiente impostata in precedenza. Completato l’inserimento, pigia sul pulsante Save Code e attendi la notifica di conferma.

Completato l’inserimento del codice, devi invocare per la prima volta il microservizio, in modo da “dire” a Telegram che tutte le istruzioni ricevute nella chat del bot devono essere “dirottate” nel microservizio appena richiesto: per farlo, digita nella barra degli indirizzi del browser a tua disposizione il comando https://api.telegram.org/botToken/setWebhook?url=https://hook.io/tuonomeaccount/nomehook che, in questo esempio, si trasforma in https://api.telegram.org/botabcd-1234-token/setWebhook?url=https://hook.io/jessica_689/ripeti-bot. Se tutto è andato per il verso giusto, viene mostrata nel browser una risposta simile a {"ok":true,"result":true,"description":"Webhook was set"}: ciò significa che il tuo bot funziona e che, a partire da questo momento, puoi usarlo!

Tutto ciò che ti resta da fare è richiamare il bot da Telegram, pigiare sul pulsante Avvia e digitare nella finestra di chat tutto quanto vuoi far ripetere al tuo bot.

Ti avviso che, data l’estrema semplicità del bot, questo potrebbe comportarsi in modo “imprevisto” e ripetere all’infinito tutto ciò che digiti nella finestra di chat: se dovesse succedere, ritorna alla lista delle chat, premi a lungo sulla chat del bot (o fai clic destro, se stai usando Telegram per computer o Telegram Web) e seleziona Arresta bot/Arresta e blocca bot dal pannello proposto.

Per approfondimenti

Scommetto che, grazie alle mie dritte, sei riuscito a creare il tuo primo bot su Telegram e non vedi l’ora di imparare a crearne degli altri, anche più complessi: come ti ho già spiegato, quanto visto fino ad ora altro non è che un esempio delle funzioni di base di creazione e sviluppo di un bot, ma posso garantirti che le possibilità di sviluppo sono davvero sconfinate.

Giusto per farti un esempio, si possono usare, oltre al Python, anche i linguaggi Node.js, Java e PHP, è possibile far interagire il proprio bot con alcuni noti servizi Web (tra cui YouTube e Gmail), si può scrivere codice per interagire con blog e siti Internet usando le API fornite dal servizio in uso (ad es. WordPress o Blogger), si può facilmente creare un bot inline e tanto, tanto altro ancora.

Di seguito ti elenco una lista di siti Internet utili per approfondire il discorso sulla creazione dei bot su Telegram.

  • Guida ai bot di Telegram – in questa pagina sono disponibili tutte le informazioni di base per entrare nel mondo dei bot, tra cui le istruzioni dettagliate su come usare BotFather (generare un nuovo token d’accesso, eliminare un bot, creare un bot inline e via discorrendo).
  • Telegram bot API – è la risorsa principale per gestire i metodi relativi al parsing (o interpretazione) dei dati inclusi nelle richieste e nelle risposte HTTP.
  • Esempi di codice – qui puoi trovare degli esempi di bot funzionanti, in diversi linguaggi di scripting e programmazione.
  • Heroku – altra valida piattaforma per la creazione e l’avvio di microservizi in numerosi linguaggi di programmazione.
  • Documentazione ufficiale di Python – per imparare a programmare in Python.
  • Documentazione di Node.js – tutto quanto c’è da sapere su questa libreria di JavaScript.
  • Manuale di PHP – per imparare a programmare in PHP.

Commenti

Post popolari in questo blog

Come creare una nuova email: Guida passo passo

Come creare una nuova email: Guida passo passo Se desideri creare un nuovo account email, che sia per uso personale o professionale, questa guida ti accompagnerà nel processo per impostare il tuo nuovo account. Un account email è un'ottima soluzione per rimanere in contatto con amici e familiari, ed è anche uno strumento essenziale per le imprese per comunicare con i propri clienti. Perché creare un nuovo account email Prima di approfondire il processo per creare un nuovo account email, vediamo perché potresti volerlo fare. Uso personale o professionale Uno dei motivi più comuni per creare un nuovo account email è per uso personale. Potresti voler avere un indirizzo email separato per la tua corrispondenza personale, separato dal tuo indirizzo email di lavoro o dell'impresa. D'altra parte, la creazione di un nuovo account email può essere utile anche per scopi professionali. Se stai avviando una nuova attività o un'impresa, avere un indirizzo email dedicato può rendere ...

Intelligenza artificiale: quando i robot diventano più intelligenti degli esseri umani

Ciao a tutti! Oggi parleremo di un argomento molto interessante e allo stesso tempo spaventoso: l'intelligenza artificiale. Si dice che i robot diventeranno più intelligenti degli esseri umani e questa prospettiva ha suscitato molte preoccupazioni. Ma prima di addentrarci nei dettagli, facciamo chiarezza su cosa sia esattamente l'intelligenza artificiale. Che cos'è l'intelligenza artificiale? L'intelligenza artificiale (AI) è una tecnologia che permette ai computer di apprendere e migliorare le proprie prestazioni senza essere esplicitamente programmati. In altre parole, l'AI consente ai computer di apprendere dai dati e dalle esperienze e di utilizzare queste conoscenze per compiere decisioni e attività in modo autonomo. L'AI è utilizzata in diversi campi, come la medicina, la finanza, la logistica e la produzione industriale. Alcuni esempi includono l'analisi dei dati per la diagnosi di malattie, la gestione dei portafogli di investimento e la pianific...

L'Internet delle cose: come la connessione di oggetti quotidiani sta cambiando il nostro mondo

Ciao a tutti! Oggi voglio parlarvi di un tema molto interessante e attuale: l'Internet delle cose. Si tratta di una tecnologia che sta cambiando il nostro modo di vivere e lavorare, e che ha il potenziale per migliorare la nostra vita in molti modi diversi. In questo articolo, voglio spiegare come funziona l'Internet delle cose, quali sono i suoi vantaggi e svantaggi, e come può influire sul nostro futuro. Cos'è l'Internet delle cose? L'Internet delle cose, o IoT (dall'inglese Internet of Things), si riferisce alla connessione di oggetti quotidiani alla rete Internet. Questi oggetti possono essere di qualsiasi tipo, dal frigorifero alla lavatrice, dal termostato alla macchina del caffè, fino agli occhiali e ai vestiti intelligenti. L'idea alla base dell'IoT è di rendere gli oggetti "intelligenti", ovvero in grado di comunicare tra loro e con gli utenti, per semplificare e migliorare la nostra vita quotidiana. Come funziona l'Internet delle ...