Sei interessato a creare il tuo primo BOT per Telegram, ma non sai da dove iniziare? Sei nel posto giusto! In questa guida completa, ti mostreremo come creare il tuo BOT Telegram utilizzando Python, il potente linguaggio di programmazione open source.
Telegram è una popolare piattaforma di messaggistica istantanea che offre una API per la creazione di BOT. I BOT di Telegram sono applicazioni automatizzate che possono fornire informazioni, gestire eventi o semplicemente intrattenere gli utenti.
In questo tutorial, ti guiderò attraverso i passi necessari per creare il tuo primo BOT Telegram utilizzando Python. Ti mostrerò come:
- Creare un nuovo BOT con BotFather
- Impostare l’ambiente di sviluppo per il tuo BOT
- Scrivere il codice Python per il tuo BOT
- Eseguire il BOT su un server
Prima di iniziare, assicurati di avere già installato Python sul tuo computer. Se non lo hai ancora fatto, puoi scaricare la versione più recente da qui: https://www.python.org/downloads/.
Creare un nuovo BOT con BotFather
Per creare un nuovo BOT su Telegram, dobbiamo prima ottenere un token di accesso. Per fare ciò, dobbiamo utilizzare BotFather, un BOT ufficiale di Telegram che ci permette di creare e gestire i BOT.
Per iniziare, apri Telegram e cerca BotFather nella barra di ricerca. Seleziona il BOT dai risultati della ricerca e inizia a chattare con lui.<inserire immagine di esempio di chat con BotFather>
Per creare un nuovo BOT, invia il comando /newbot al BOT. BotFather ti chiederà di scegliere un nome per il tuo BOT e un nome utente. Il nome utente deve finire con “bot” (ad esempio, my_bot o my-bot).
Una volta scelti i nomi, BotFather ti fornirà il token di accesso per il tuo BOT. Salva il token in un luogo sicuro, poiché ti servirà per accedere al BOT dal tuo codice Python.<inserire immagine di esempio di token di accesso>
Impostare l’ambiente di sviluppo per il tuo BOT
Ora che abbiamo il token di accesso per il nostro BOT, possiamo iniziare a scrivere il codice Python. Per prima cosa, dobbiamo impostare l’ambiente di sviluppo.
Per impostare l’ambiente di sviluppo per il tuo BOT Telegram con Python, dovrai seguire questi passi:
- Assicurati di avere Python installato sul tuo computer. Se non lo hai ancora fatto, puoi scaricare la versione più recente da qui: https://www.python.org/downloads/.
- Crea un nuovo progetto Python e installa le librerie necessarie per utilizzare l’API di Telegram. Per fare ciò, puoi utilizzare il comando
pip install python-telegram-bot
o creare un filerequirements.txt
con le dipendenze del tuo progetto e installarle con il comandopip install -r requirements.txt
. - Crea un file
.env
nella root del tuo progetto e aggiungi le seguenti variabili d’ambiente:
Copy codeTELEGRAM_TOKEN=il_tuo_token_di_accesso
CHAT_ID=l'ID_della_chat_a_cui_inviare_i_messaggi
- Nel tuo codice Python, importa le librerie
os
edotenv
e carica le variabili d’ambiente dal file.env
utilizzando il comandoload_dotenv()
. Recupera quindi il token di accesso e l’ID della chat utilizzando il comandoos.getenv('TELEGRAM_TOKEN')
eos.getenv('CHAT_ID')
.
Ecco un esempio di come potresti impostare l’ambiente di sviluppo nel tuo codice Python:
Copy codeimport os
import telegram
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('TELEGRAM_TOKEN')
CHAT_ID = os.getenv('CHAT_ID')
bot = telegram.Bot(token=TOKEN)
Con queste operazioni avrai impostato l’ambiente di sviluppo per il tuo BOT Telegram con Python. Adesso sei pronto a scrivere il codice per il tuo BOT.
Scrivere il codice Python per il tuo BOT
Ora che abbiamo impostato l’ambiente di sviluppo, possiamo iniziare a scrivere il codice per il nostro BOT.
Innanzitutto, dobbiamo importare le librerie necessarie per utilizzare l’API di Telegram. Apri un nuovo file Python e inserisci il seguente codice:
Copy codeimport os
import telegram
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('TELEGRAM_TOKEN')
CHAT_ID = os.getenv('CHAT_ID')
bot = telegram.Bot(token=TOKEN)
In questo codice, stiamo importando le librerie os
e telegram
, oltre a load_dotenv
dal pacchetto dotenv
. Stiamo anche caricando le variabili d’ambiente da un file .env
utilizzando load_dotenv
. Le variabili d’ambiente contengono il nostro token di accesso e l’ID della chat a cui vogliamo inviare i messaggi.
Successivamente, creiamo un oggetto Bot
utilizzando il nostro token di accesso.
Ora che abbiamo impostato il nostro BOT, possiamo iniziare a scrivere il codice per inviare messaggi. Aggiungi il seguente codice alla fine del file:
Copy codedef send_message(message):
bot.send_message(chat_id=CHAT_ID, text=message)
send_message("Ciao, sono il tuo BOT Telegram!")
In questo codice, abbiamo definito una funzione send_message
che prende come argomento un messaggio e lo invia alla chat specificata utilizzando il metodo send_message
dell’oggetto Bot
.
Testiamo il nostro BOT inviando il messaggio “Ciao, sono il tuo BOT Telegram!”. Apri Telegram e verifica che il messaggio sia stato inviato correttamente alla chat specificata.<inserire immagine di esempio di messaggio inviato dal BOT>
Ora che abbiamo il nostro BOT che invia messaggi, possiamo iniziare a scrivere il codice per gestire gli input dell’utente. Ad esempio, possiamo scrivere un BOT che risponde ai messaggi dell’utente con un messaggio predefinito.
Per fare ciò, dobbiamo utilizzare il metodo set_update_handler
dell’oggetto Bot
, che ci permette di definire una funzione di callback da eseguire ogni volta che riceviamo un aggiornamento (ad esempio, un nuovo messaggio).
Ecco come potrebbe essere il risultato:
def echo_handler(update):
message = update.message
send_message(message.text)
bot.set_update_handler(echo_handler)
while True:
try:
bot.polling()
except Exception as e:
print(e)
time.sleep(15)
In questo codice, abbiamo definito una funzione di callback echo_handler
che prende come argomento un oggetto update
e invia il testo del messaggio alla chat utilizzando la funzione send_message
che abbiamo definito in precedenza.
Successivamente, abbiamo impostato la nostra funzione di callback utilizzando il metodo set_update_handler
e abbiamo iniziato a eseguire il BOT in modalità di polling. Il polling consiste nel verificare periodicamente se ci sono nuovi aggiornamenti da gestire.
Infine, abbiamo inserito il codice all’interno di un ciclo while True
per far sì che il BOT continui a eseguire il polling in modo continuo. In caso di eccezione, stampiamo l’errore e attendiamo 15 secondi prima di riprovare.
Ora che abbiamo scritto il codice per il nostro BOT, possiamo eseguirlo e testarlo inviando alcuni messaggi alla chat. Verifica che il BOT risponda con il medesimo messaggio inviato.
Eseguire il BOT su un server
Se vuoi eseguire il tuo BOT in modo continuo senza dover tenere sempre aperto il terminale del tuo computer, puoi utilizzare un server. Ci sono diverse opzioni per eseguire il tuo BOT su un server, come ad esempio utilizzare una macchina virtuale o un servizio di hosting.
In questa guida, ti mostreremo come eseguire il tuo BOT su una macchina virtuale utilizzando Amazon Web Services (AWS). AWS offre una serie di servizi cloud, tra cui Amazon Elastic Compute Cloud (EC2), che ti permette di creare e configurare una macchina virtuale.
Per iniziare, dovrai creare un account AWS e seguire questi passi:
- Accedi al pannello di controllo AWS e vai alla sezione EC2.
- Clicca su “Launch Instance” per creare una nuova istanza EC2.
- Seleziona una immagine di sistema operativo per la tua macchina virtuale. In questa guida, utilizzeremo Ubuntu.
- Scegli la configurazione della tua istanza EC2, come il tipo di istanza e le dimensioni della memoria.
- Configura le opzioni di sicurezza, come le regole del firewall e delle chiavi SSH
- Clicca su “Launch” per avviare la tua istanza EC2.
Una volta creata la tua istanza EC2, dovrai installare Python e le librerie necessarie per il tuo BOT. Apri una connessione SSH alla tua istanza EC2 utilizzando il comando ssh
e segui questi passi:
- Installa Python 3 utilizzando il comando
sudo apt-get install python3
. - Crea un virtual environment per il tuo BOT utilizzando il comando
python3 -m venv venv
. - Attiva il tuo virtual environment con il comando
source venv/bin/activate
. - Installa le librerie necessarie per il tuo BOT utilizzando il comando
pip install -r requirements.txt
. Assicurati di avere un filerequirements.txt
con le dipendenze del tuo progetto.
Una volta installate le dipendenze, puoi trasferire il tuo codice sul server utilizzando un tool come scp
o rsync
. Assicurati di modificare il file .env
con il tuo token di accesso e l’ID della chat.
Infine, esegui il tuo BOT utilizzando il comando python bot.py
. Il tuo BOT dovrebbe essere ora in esecuzione sulla tua istanza EC2 e pronto per gestire gli aggiornamenti di Telegram.
Conclusione
In questa guida, ti abbiamo mostrato come creare il tuo primo BOT per Telegram utilizzando Python. Abbiamo visto come ottenere un token di accesso per il nostro BOT, impostare l’ambiente di sviluppo, scrivere il codice per il BOT e infine eseguirlo su un server.
Speriamo che questa guida ti sia stata utile e che ora tu sia pronto a creare il tuo primo BOT per Telegram. Non dimenticare di condividere le tue creazioni con noi nei commenti!