In questo articolo ti spiegheremo come creare bot Telegram: è un’operazione tutto sommato semplice, alla portata di tutti, richiede soltanto un pizzico di attenzione in più rispetto magari ad altre guide che trovi all’interno del nostro sito. Siamo certi però che il risultato finale sarà per te motivo di grande orgoglio.
I bot di Telegram sono una delle funzionalità più apprezzate dagli utenti dell’app di messaggistica istantanea. Si tratta di applicazioni di terze parti sviluppate da programmatori esterni alla piattaforma in grado di interagire con gli utenti attraverso messaggi o righe di comando.
Ad esempio ci sono bot capaci di generare al volo il codice fiscale o una mail temporanea, oppure tracciare i pacchi in arrivo o le variazioni di prezzo di un prodotto su Amazon. È facile dunque capire il motivo per cui abbiano goduto – e godano tuttora – di una così grande popolarità tra gli utenti: per conoscere le loro potenzialità, dai un’occhiata alla nostra selezione dei migliori bot Telegram.
Creare un nuovo bot Telegram e configurarlo
La creazione di un bot su Telegram richiede per prima cosa la realizzazione di un bot vuoto tramite BotFather, il padre di tutti gli altri bot presenti nell’app. Per richiamare quest’ultimo apri Telegram, tocca la lente d’ingrandimento in alto a destra, digita “BotFather” nel campo “Cerca”, quindi seleziona il primo risultato di ricerca identificato da una spunta blu.
Una volta che si apre la finestra di chat di BotFather seleziona “Avvia”, in seguito nel campo “Messaggio” digita il comando “/newbot” (senza le virgolette) per avviare la procedura di creazione di un nuovo bot. Ora BotFather vorrà che rispondi a una serie di domande per completare la configurazione del programma:
- “Alright, a new bot. How are we going to call it? Please choose a name for your bot”: rispondi digitando il nome che vuoi assegnare al tuo bot. Noi ad esempio, nella nostra prova, abbiamo scelto il nome Bot Stupido.
- “Good. Now let’s choose a username for your bot. It must end in “bot”. Like this, for example: TretrisBot or tetris_bot”: scegli ora l’username, che deve terminare obbligatoriamente con la parola bot. La nostra scelta è ricaduta su giardiniblogprova_bot.
Subito dopo BotFather ti assegnerà un token, un codice di numeri e lettere che ti servirà per far funzionare il tuo bot: trascrivilo e conservalo in un luogo sicuro, senza rivelarlo ad altre persone (ricorda, chiunque conosca il token è in grado di controllare il bot).
Per questa prima parte non ti resta che completare la configurazione iniziale del bot digitando i seguenti comandi nel campo “Messaggio”:
- “/setdescription”: per aggiungere una descrizione.
- “/setabouttext”: per impostare un testo che introduttivo.
- “/setuserpic”: per inserire un avatar.
Assegnare istruzioni al nuovo bot Telegram
Il bot appena creato non è in grado di compiere alcun azione. Ha un’immagine profilo, una descrizione, un nome, ma di fatto non serve a nulla. Lo step successivo consiste proprio nell’assegnargli una serie di istruzioni per mezzo delle quali sia in grado di interagire con noi.
Per fare questo sarà sufficiente collegarsi a una piattaforma web che ospita microservizi, cioè parti di codice che eseguono operazioni, e inserire sotto forma di codice le istruzioni da impartire al bot.
Se intendi creare un bot per Telegram gratis usa il sito web pythonanywhere.com e un codice scritto in python, un linguaggio di programmazione molto popolare tra gli sviluppatori. Tieni a portata di mano anche il token ricevuto al momento della creazione del bot vuoto.
Prelevare il codice Python
Per prima cosa, hai bisogno di un codice scritto in Python che metta in funzione il bot. Se non hai alcuna conoscenza nel campo della programmazione non ti preoccupare, sul web è possibile trovare una marea di codici che fanno al caso nostro.
Noi ci siamo affidati a GitHub, un noto servizio hosting per progetti software, e più nello specifico al codice sviluppato dall’utente eternnoir pyTelegramBotAPI, che include il file echo_bot.py, chiamato così perché consente al bot di ripetere i messaggi inviati dall’utente.
Di seguito ti spieghiamo come prelevare il codice Python per completare la configurazione del bot Telegram:
- Collegati direttamente alla pagina contenente il database di pyTelegramBotAPI.
- Seleziona la cartella “examples”.
- Clicca sul file “echo_bot.py”.
- Copia il codice contenuto nel file e incollalo in un nuovo testo dell’app Blocco Note di Windows o TextEdit di macOS.
Il codice iniziale è il seguente:
#!/usr/bin/python # This is a simple echo bot using the decorator mechanism. # It echoes any incoming text messages. import telebot API_TOKEN = '' bot = telebot.TeleBot(API_TOKEN) # Handle '/start' and '/help' @bot.message_handler(commands=['help', 'start']) def send_welcome(message): bot.reply_to(message, """\ Hi there, I am EchoBot. I am here to echo your kind words back to you. Just say anything nice and I'll say the exact same thing to you!\ """) # Handle all other messages with content_type 'text' (content_types defaults to ['text']) @bot.message_handler(func=lambda message: True) def echo_message(message): bot.reply_to(message, message.text) bot.infinity_polling()
Modificare il codice Python
Ora che hai il codice, dovrai apportare alcune modifiche ad esso per far sì che il bot non ripeta all’infinito tutto ciò che scrivi. Tra queste, è fondamentale l’aggiunta del token personale ricevuto al momento della creazione del bot da BotFather: nel codice Python individua la dicitura “API_Token” e – all’interno delle virgolette – incolla il codice alfanumerico conservato in precedenza.
Dopodiché puoi proseguire nelle modifiche al codice, inserendo a tuo piacimento le risposte che il bot dovrà restituire rispetto a un determinato messaggio. In questa sede non ci addentreremo infatti in istruzioni più complesse, ma ci limiteremo a mostrarti il funzionamento basico di un nuovo bot Telegram creato da zero.
Per comodità, riportiamo qui sotto il nostro codice finale (con l’aggiunta di alcune semplici funzioni, ndr):
#!/usr/bin/python # This is a simple echo bot using the decorator mechanism. # It echoes any incoming text messages. import telebot API_TOKEN = '*inserisci qui il tuo token e poi togli gli asterischi lasciando soltanto gli apici*' bot = telebot.TeleBot(API_TOKEN) # Handle '/start' and '/help' @bot.message_handler(commands=['help', 'start']) def send_welcome(message): bot.reply_to(message, """\ Ciao, mi chiamo Bot Stupido. Sono stato creato da poco e non sono ancora molto bravo, ti assicuro però che imparo in fretta\ """) # Handle all other messages with content_type 'text' (content_types defaults to ['text']) @bot.message_handler(func=lambda message: True) def echo_message(message): if message.text=='Ciao': bot.reply_to(message, 'Ciao, io sono un bot, come va?') elif message.text=='Bene': bot.reply_to(message, 'Ottimo, sono contento') else: bot.reply_to(message, 'Mi dispiace, ancora non capisco tutti i messaggi. Prova a scrivermi altro.') bot.infinity_polling()
Nota: per le nuove istruzioni abbiamo tratto ispirazione dal video “Creare un Bot su Telegram” del canale Gian’s Tech.
Aggiungere il codice Python alla piattaforma PythonAnywhere
Innanzitutto, salva il codice riportato qui sopra usando l’estensione .py. In seconda battuta, collegati al sito PythonAnywhere e registra un account gratuito.
Fatto questo, esegui il login e nella dashboard personale seleziona la voce “Files”.
Nella nuova schermata che si apre fai clic sul tasto “Upload a file” e carica il file .py appena salvato.
Ora seleziona dal menu principale la voce “Consoles”, individua l’intestazione “Start a new console”, quindi accanto a “Other” clicca su “Bash”.
- Si aprirà l’interfaccia del terminale, dove dovrai per prima cosa copiare e incollare la seguente istruzione
mkvirtualenv --python=/usr/bin/python3.7 mysite-virtualenv
che permette di creare un ambiente virtuale dove il bot verrà eseguito. - La seconda istruzione
pip install pyTelegramBotAPI
è la riga di comando che consente di installare il bot.
Come fatto con la prima, va copiata e incollata accanto all’icona verde del dollaro. - La terza e ultima istruzione
python *nometuofile.py*
dà il via all’esecuzione del bot (al posto di nometuofile inserisci il nome con cui ha denominato il file con estensione .py).
Testare il bot Telegram creato
Se hai eseguito la procedura qui sopra in maniera corretta, arrivato a questo punto avrai il tuo bot Telegram perfettamente funzionante. Per verificare che tutto sia andato per il verso giusto, sarà sufficiente mettere alla prova il bot.
Apri dunque di nuovo l’app Telegram, recati nella chat del bot creato in precedenza, e da lì digita nel campo “Messaggio” la parola “Ciao”. Come da istruzioni, il bot ti risponderà “Ciao, io sono un bot, come va?”
Rispondendo alla domanda con la parola “Bene”, il bot ribatterà: “Ottimo, sono contento”.
Se gli poni un’altra domanda, a quel punto il bot risponderà in automatico con la frase: “Mi dispiace, ancora non capisco tutti i messaggi. Prova a scrivermi altro”.
Qui sotto puoi vedere la chat di prova con il nostro Bot.
Importante: se non effettui nessuna modifica al codice iniziale (il primo che abbiamo inserito nella guida per intenderci), il bot copierà parola per parola ciò che gli scriverai.
Ad esempio, se scrivi “Ciao” lui ti risponderà con “Ciao”, se anziché “Ciao” gli scrivi “Buon Natale” risponderà anche lui “Buon Natale”, e così via.