Bot di Telegram. Magia oscura o semplice programmazione?





Partiamo dal principio: cosa sono i bot?
Non sono altro che utenti artificiali di Telegram creati tramite del codice di programmazione da utenti reali. Sono facilmente riconoscibili, il loro nome deve finire con “bot”.
Possono interagire nelle chat singole o in quelle di gruppo.
Per comunicare con loro è necessario conoscere il nome, cominciare una chat con esso (o aggiungerlo nel gruppo nel caso della chat con più utenti) e inserire determinati comandi. Per scoprirli basta premere il tasto “/” e premere invio. Il bot risponderà al messaggio con la lista di azioni che è in grado di fare. A questo punto basterà semplicemente premere su un comando o digitarlo manualmente per interagire con l’utente artificiale.

Esistono migliaia di bot ed è per questo stabilire quali sono i migliori o i più funzionali. Tutto dipende dalle proprie esigenze e dalle funzionalità che l’utente necessita.
Tra i più utilizzati e famosi troviamo:
  • BotFather: è il padrino di tutti i bot. E’ stato creato da Telegram stesso e permette agli utenti di crearne uno proprio. (@botfather).
  • TrackBot: l’e-commerce è sempre più gettonato e ogni tanto è bene tenere traccia dei propri pacchi in spedizione. TrackBot monitora le spedizioni di pacchi di corrieri italiani e stranieri. (@trackbot).
  • EnigmiBot: un bot divertente pensato per l’intrattenimento che propone enigmi e sfide interessanti. (@enigmibot).
  • AndyLearnEnglish: la lingua inglese è ormai fondamentale. Questo bot è stato pensato per chattare in lingua inglese con lo scopo di migliorare la propria conoscenza della lingua straniera. Il bot può rivelarsi molto utile per lo studio, dal momento in cui propone anche la risoluzione di esercizi e mini giochi ai fini didattici. (@andryrobot).
  • Exchange Rates: questo bot risulta davvero utile per chi viaggia spesso. Permette di visualizzare in qualsiasi momenti i tassi di cambio per oltre 150 valute mondiali. (@exchangeratesbot).
  • Amazon Search n Price: si tratta di un bot che ti permette di cercare un prodotto su Amazon, al fine di poterne conoscere il prezzo. (@amazonglobalbot).

Come si crea un bot?


Per creare un bot personale bisogna rivolgersi, come detto in precedenza, al padre di tutti i bot: BotFather. E’ necessario iniziare la chat con il comando “/start”.


BotFather risponderà con una serie di comandi.
Per creare un nuovo bot dovremo premere, o digitare, il comando “/newbot”.

A questo punto ci verrà chiesto di dare un nome al nostro bot.
Fatto ciò, ci verrà rilasciata una chiave che useremo per programmare il nostro bot.






Passiamo alla programmazione
Esistono diversi linguaggi per programmare un bot di Telegram, in questa guida vi spiegherò come programmare il bot in Python.
Nello specifico creeremo un semplice bot di Telegram in grado di risponderci a seconda del comando inserito.

Per prima cosa dovremo importare delle librerie:






Creiamo una funzione handle che vuole come parametro un messaggio.
Con la prima riga inizializziamo delle variabili che torneranno utili più avanti. Con la seconda impostiamo la variabile “command” al valore del messaggio inviato dall’utente (usiamo il metodo .lower() per trasformare il comando in minuscolo, per evitare errori di inserimenti da parte dell’utente).




Alla riga 10 eseguiamo un controllo sul messaggio ricevuto dall’utente: verifichiamo, in particolare, se il messaggio ricevuto è una stringa. In questo caso risponderemo con un messaggio “Hello World!”.
Il metodo sendMessage() vuole due parametri: l’id della chat (ogni chat, quindi ogni utente, viene definito con un id univoco) e il messaggio di risposta.




Con queste righe eseguiamo, invece, un controllo sul comando.
Se il messaggio inserito dall’utente corrisponde al comando “/du”, il bot risponderà inviando il link del sito www.digitaluniversitas.com.



Fuori dalla funzione dovremo indicare al bot la nostra chiave, inserendola come una stringa in una variabile chiamata “TOKEN”.
La riga 28 servirà per mantenere il bot in ascolto, così da essere sempre pronto a rispondere.
Come ultimo comando diremo al bot di rimanere in attesa di 10 secondi, dandogli modo di rispondere correttamente e riposizionarsi in fase di ascolto.







Il risultato che otterremo sarà simile a questo, a seconda del codice python scritto:


Commenti

Etichette

Mostra di più