Come Creare un Bot Telegram con Python
Vuoi realizzare un bot Telegram con Python? Ecco la guida per creare il tuo primo bot.
Python è un linguaggio di programmazione molto versatile, che può essere utilizzato in vari contesti.
Se vuoi avvicinarti alla programmazione di un bot per Telegram, potresti quindi valutare di adoperare Python, utilizzando la libreria Python-Telegram-Bot.
Python-Telegram-Bot è una libreria open-source, con una community molto attiva, che consente di avere una vasta gamma di strumenti e di funzioni per creare un bot Telegram.
Tra le tante funzioni di questa libreria, c’è la possibilità di gestire messaggi in arrivo, inviare risposte, usare tastiere, gestire file e immagini. C’è una documentazione molto approfondita che puoi consultare a questo link.
In questo articolo ti indicherò le basi per programmare il tuo primo bot che risponde ogni volta che invii il comando /start. Si tratta di un bot molto semplice, ma che ti fornisce tutte le conoscenze necessarie per partire a sviluppare un bot Telegram con Python.
Una volta capito il funzionamento basilare, consultando la documentazione e sperimentando altre funzionalità, potrai creare bot sempre più complessi e che rispondano alle tue esigenze.
Indice:
- Requisiti fondamentali
- Creazione del bot con BotFather
- Scrittura del codice in Python con Python-Telegram-Bot
- Funzionamento del bot
- Video con esempio pratico
- Conclusioni
Requisiti fondamentali
Per prima cosa devi avere tutti i software necessari per realizzare il bot Telegram con Python. Per questo motivo, considerando che sei su Windows, devi scaricare l’ultima versione stabile di Python disponibile ed installarla sul PC.
Recati su questo link e scarica la versione Windows installer (64-bit). Assicurati di cliccare sulla versione stabile indicata con Stable Releases.
Durante la fase di installazione, ricorda di attivare la spunta su “Add python.exe to PATH”, come indicato dalla seguente immagine.
Adesso apri il terminale di Windows, ovvero il prompt dei comandi CMD che trovi ricerca dei vari programmi, ed installa la libreria Python-Telegram-Bot utilizzando il comando seguente.
pip install python-telegram-bot
A seconda della tua connessione internet, in pochi minuti viene scaricata ed installata la libreria.
A questo punto non ti resta che installare il software Visual Studio Code, ovvero l’editor di codice sorgente gratuito sviluppato da Microsoft.
Scarica il programma a questo link. Con questo software potrai scrivere il codice necessario a far funzionare il tuo bot e testarne il funzionamento.
Durante l’installazione, ricorda di mettere la spunta su “Crea un’icona sul desktop”.
Al primo avvio di Visual Studio, potrai personalizzare l’aspetto ed installare la lingua italiana in automatico.
Poi recati nella zona Estensioni, indicata sulla sinistra dalla freccia, cerca “python” ed installa l’estensione su Visual Studio.
Creazione del bot con BotFather
Adesso devi recarti su Telegram è cercare BotFather, ovvero il bot ufficiale di Telegram che consente a tutti gli utenti di creare e gestire uno o più bot. Avvia il bot cliccando il tasto Start oppure inviando il comando /start.
Dal Menu, premi il pulsante /newbot ed invia il nome del tuo nuovo bot. Infine invia l’username, che deve necessariamente finire con la parola bot. In pochi secondi hai creato il tuo primo bot, e BotFather ti fornisce anche il token, ovvero un codice che devi salvarti e non devi condividere con nessuno.
Il token, univoco per ogni bot creato, devi utilizzarlo nel codice di programmazione che andrai a scrivere successivamente in Visual Studio.
Tramite BotFather potrai anche personalizzare il nome, l’immagine del profilo, la descrizione e molte altre informazioni e funzioni del tuo bot. Però si tratta di personalizzazioni secondarie e non essenziali.
Scrittura del codice in Python con Python-Telegram-Bot
Apri Visual Studio Code e nella sezione “Esplora risorse“, nella zona a sinistra indicata dalla freccia, apri o crea una cartella dove potrai salvare i tuoi progetti in Python.
Crea quindi un nuovo file, per esempio chiamalo “primo bot.py“. Ricorda di mettere l’estensione .py alla fine. Ora è tutto pronto per iniziare a scrivere il codice.
Finalmente inizia a scrivere il codice Python necessario a realizzare il tuo bot Telegram. In questo semplice esempio ho preso il codice di default indicato nella documentazione.
Puoi copiare ed incollare il seguente codice nel tuo file py.
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler
import logging
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await context.bot.send_message(chat_id=update.effective_chat.id, text="Ciao, sono il tuo bot e questo è il mio primo messaggio :)")
if __name__ == '__main__':
application = ApplicationBuilder().token('TOKEN').build()
start_handler = CommandHandler('start', start)
application.add_handler(start_handler)
application.run_polling()
Andiamo ad analizzare singolarmente i vari pezzi del codice per capire cosa fanno e come funzionano.
Per prima cosa importa la libreria telegram e le funzioni che utilizzerai nel bot.
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, CommandHandler
Questa parte di codice permette di capire se c’è qualche errore nel bot e dove intervenire in caso di problemi.
import logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
Ora crea una funzione start, che consente al bot di rispondere un messaggio appena tu invierai il comando /start. Il messaggio che gli ho indicato di scrivere è “Ciao, sono il tuo bot e questo è il mio primo messaggio :)”. Ovviamente puoi anche modificarlo a tuo piacimento.
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await context.bot.send_message(chat_id=update.effective_chat.id, text="Ciao, sono il tuo bot e questo è il mio primo messaggio :)")
Attenzione: è fondamentale indicare il token del tuo bot, che consente di interfacciare il programma che hai scritto con il tuo bot Telegram.
Per fare ciò, devi incollare il token del tuo bot, che ti ha fornito BotFather, all’interno del seguente codice. Sostituisci la parola TOKEN con il tuo token, senza togliere gli apici.
if __name__ == '__main__':
application = ApplicationBuilder().token('TOKEN').build()
start_handler = CommandHandler('start', start)
application.add_handler(start_handler)
application.run_polling()
Per avviare il programma, premi il pulsante con il simbolo Play, ma prima ricorda di indicare il tuo token.
Funzionamento del bot
Il programma che hai realizzato inizierà a funzionare. Per interagire con il tuo bot scrivi il comando /start nella chat con il tuo bot.
In questo modo si avvia il bot che risponderà con il messaggio “Ciao, sono il tuo bot e questo è il mio primo messaggio :)”
Video con esempio pratico
In questo video che ho realizzato, puoi vedere come creare un bot utilizzando la libreria python-telegram-bot e come installare tutti i requisiti necessari al suo funzionamento.
Trovi il codice sorgente che ho utilizzato direttamente nell’articolo dedicato.
Conclusioni
In questo articolo ti ho indicato tutti i passaggi essenziali per rendere il tuo sistema operativo Windows pronto per poter programmare con il linguaggio Python.
Inoltre ti ho mostrato come realizzare il tuo primo bot Telegram con la libreria open-source chiamata Python-Telegram-Bot.
Ovviamente il bot che hai realizzato è molto semplice, ma ti avvicina alla programmazione e ti permette di capire come funziona la libreria Python-Telegram-Bot.
Per poter sviluppare dei bot più complessi, puoi consultare e studiare la documentazione ufficiale della libreria a questo link.
Potrebbe interessarti:
- Miglior Bot Telegram per Pubblicare Offerte Amazon in Affiliazione
- Come Guadagnare con Telegram e l’Affiliazione Amazon
- Recensione DealsBot, Bot di Offerte Per Telegram
- Differenza Tra Canale e Gruppo Telegram
- Quanto si Guadagna con un Canale Telegram
- Come Integrare i Post del Canale Telegram nel Sito
- Creare un Bot Telegram che Genera Link Amazon Affiliati
- Come Creare un Canale Telegram di Offerte Amazon