Vuoi sapere come creare un bot telegram? In questo articolo ti faccio vedere con quanta facilità ne puoi creare uno. Creeremo il bot utilizzando Java e di conseguenza darò per scontato che conosci l’argomento!
Non conosci Java? Che ne dici di imparare a programmare partendo da qualche buon libro? Dai un’occhiata a questo indirizzo.
Come Creare un Bot Telegram
Creare un bot Telegram è semplicissimo. Spesso viene utilizzato un bot per diversi motivi. Ci sono bot che servono solamente a far divertire qualcuno ed altri che servono per lavoro. C’è chi organizza lotterie con i bot e chi manda messaggi pubblicitari o distribuisce coupon.
Nè viene da sé che ci sono clienti che sono interessati ad avere un bot Telegram e la cosa più interessante sta nel fatto che crearne uno è facile sei sai programmare.
Cos’è Telegram?
Telegram è un software di messaggistica molto conosciuto. E’ nato inizialmente su piattaforma Android e iOS e ti permette, come WhatsApp, di comunicare con i tuoi contatti.
Telegram sin dalla nascita ha avuto sempre più funzionalità rispetto a WhatsApp ed è stato sempre gratuito, nonostante ciò WhatsApp ha sempre avuto un appeal maggiore sugli utenti.
Tramite Telegram hai la possibilità di:
- Inviare e ricevere messaggi
- Mandare e ricevere immagini
- Inviare e ricevere denaro
- Condividere e ricevere file di altri formati
- Utilizzare file audio
- Inviare emoticon
Come vedi Telegram è molto completo. Dopo le versioni per Android e iOS è da un po’ disponibile anche da computer tramite Telegram Web.
Come Creare un Bot Telegram
Per iniziare a creare un bot Telegram hai bisogno di una connessione ad Internet, un IDE di sviluppo (io uso Eclipse) e conoscere Java.
Vediamo in ordine tutti i passi necessari per la creazione di un bot.
Comunichiamo a Telegram che vogliamo un Bot
Per prima cosa devi installare Telegram su smartphone o, se sei più comodo, utilizzarlo da browser andando a questo indirizzo. Se è la prima volta dovrai registrarti rapidamente.
A questo punto ti troverai all’interno di una schermata di questo tipo:
Quello che devi fare è cercare tramite l’input “Cerca” in alto un bot creato da Telegram proprio per questo scopo: BotFather.
Una volta trovato questo bot è necessario scrivere in ordine i seguenti messaggi:
- /start
Il bot ti risponderà che ti può aiutare a gestire ed a creare i bots. - /newbot
Il bot ti chiederà come vuoi chiamarlo. - Nome Del Bot
E’ un nome a tua scelta, io l’ho chiamato PaoloDellAguzzo. Il BotFather dunque ti dirà che va tutto bene e che dovrai scegliere uno username. Dovrà finire con la parola “bot”. - Inserisci lo username
Io ho inserito PaoloDellaguzzoBot.
Giunti a questo punto il BotFather ti informa che il bot è stato creato e ti darà un token per accedere alla HTTP API:
Creazione del Bot
A questo punto Telegram ha creato un bot per noi, ma questo bot non fa nulla.
Dobbiamo scrivere un po’ di codice e per farlo apriamo l’IDE di sviluppo e creiamo un nuovo progetto. Io utilizzo Maven, quindi ho creato un progetto Maven e di conseguenza sarà lui ha gestire le dipendenze.
Per prima cosa è necessario che crei una classe Main.
Se non stai usando Maven scarica la libreria Telegram da questo indirizzo ed importala nel progetto. Altrimenti, con Maven, apri il file pom.xml e scrivi:
<dependencies> <dependency> <groupId>org.telegram</groupId> <artifactId>telegrambots</artifactId> <version>3.3</version> <classifier>jar-with-dependencies</classifier> </dependency> </dependencies>
A questo punto crea una classe che ha come nome lo username del tuo bot, nel mio caso PaoloDellaguzzoBot. Questa classe deve ereditare da TelegramLongPollingBot ed implementare alcuni metodi:
- getBotUsername
Ritorna come stringa lo username del bot. - getBotToken
Ritorna come stringa il token che ci ha fornito prima il BotFather. - onUpdateReceived
Gestirà la logica dal momento in cui l’utente inizia a messaggiare con il bot
Facciamo in modo tale che il nostro bot ci risponda sempre con lo stesso messaggio che inviamo noi. Quindi sarà il nostro eco.
All’interno della classe appena creata, nel mio caso PaoloDellaguzzoBot, scrivi questo codice:
Il nostro bot non fa altro che saper restituire lo username con il metodo getBotUsername.
Dopo di che abbiamo implementato un metodo che viene chiamato dal momento in cui si riceve un update. Controlliamo che l’update contiene un messaggio e che questo contenga del testo. In caso di risposta affermativa leggiamo il messaggio e l’id della chat. Creiamo dunque un oggetto SendMessage al quale impostiamo come chat di riferimento, la chat dalla quale ci è arrivato il messaggio. Infine impostiamo anche il testo della risposta che è esattamente identico al testo inviato dall’utente. Infine inviamo il messaggio all’utente.
L’ultimo metodo, getBotToken, ritorna il token relativo al nostro bot che ci è stato consegnato da BotFather ad inizio guida.
Diamo Vita al Bot Telegram
Giunti a questo punto dobbiamo far eseguire questo codice. Per farlo è necessario far partire la Java App dal Main. Ora però il nostro Main è vuoto. Aggiungiamo un po’ di codice:
In questo codice inizializziamo le API di Telegram, dunque istanziamo le API ed infine registriamo il bot.
Da questo momento in poi ogni volta che l’applicazione sarà in esecuzione il nostro bot risponderà a chi gli scrive. Per far partire l’applicazione da Eclipse ti basta fare tasto destro sulla classe main > Run as > Java Application:
Prova il bot
Siamo al termine di questa guida su come creare un bot Telegram. Apri Telegram e cerca il bot che hai appena creato, dunque scrivigli qualcosa:
Adesso sta a te costruire qualcosa di più grande. Come hai visto non ci sono limiti, puoi fare quello che vuoi con la tua applicazione. Dovrai trovare un ambiente per far girare l’applicazione 24 ore su 24 se sarà necessario e potrai comunque collegare database, generazione di documenti e tanto altro.
Se vuoi maggiori informazioni sulle API Telegram vai a questo indirizzo.
Conclusione – Come Creare un Bot Telegram
Ti è piaciuta la guida? Se vorresti vedere qualcosa di più complicato e possibile da fare con le API Telegram fammelo sapere nei commenti 🙂 . Ora che sai come creare un bot Telegram puoi accontentare tanti nuovi clienti!
Lo sai che le API di Telegram ti permettono di inviare anche notifiche push? Sì puoi fare proprio di tutto.
Vuoi imparare a creare una web app con ReactJS? Visita questo indirizzo.
Se vuoi iscriviti alla newsletter e non ti perderai i nuovi articoli. Mando da 1 a 4 mail al mese ricapitolando dove siamo arrivati con ogni guida. Con la newsletter hai anche accesso a libri ed ebook gratuiti, così come a coupon Udemy ? .
Per dubbi o domande scrivimi nei commenti ? .
Se ti è piaciuto l’articolo seguimi su Facebook e Twitter oppure rimani sempre aggiornato con la newsletter (da 1 a 4 mail al mese!).
Grazie dell’articolo per me i bot erano sempre stati difficili da capire ma ho realizzato la copia del tuo è perfetta, ora devo chiederti una cosa, come si trattano le immagini?? I testi ok, ma mi manca la gestione delle immagini, hai qualche dritta?? Grazie 😀
Ciao 🙂 Sono contento che l’articolo ti sia stato di aiuto. Purtroppo al momento non riesco a fare test e prove per capire come inviare immagini, però potresti dare un’occhiata alla docs delle api di Telegram 🙂
Tranquillo quando vuoi 😀 anzi già hai fatto tantissimo mi hai fatto capire molto bene come gestire i bot, un’altra cosa, voglio chiederti per mandare il messaggio ad un altro utente / canale come faccio?? ho provato a controllare il chatId, ma è sempre lo stesso, quindi non capisco come risalire ad un altro destinatario grazie….
Quì https://core.telegram.org/methods puoi trovare tutti i metodi possibili e la descrizione delle API, dunque tutto ciò che si può fare
Ti ringrazio 😀 ma ci ero già andato e soprattutto qui: https://core.telegram.org/method/messages.sendMessage parla della classe sendMessage ma non riesco a trovarla, quindi immagino mi mancherà qualche import ma anche usandola non mi chiede nulla, quindi sto in un punto cieco, hai qualche altra dritta, info o libreria da darmi?? Grazie mille per la pazienza e disponibilità.
Scusa intendevo sendMedia…
Purtroppo dovrei fare delle prove, ma non credo di aver tempo in questi giorni 🙂 Magari online puoi trovare qualche corso o qualche guida più dettagliata 🙂
articolo ideale per il suo scopo
Sono contento che sia stato utile 🙂