Paolo Dell'Aguzzo
  • Chi sono
  • Cosa offro
  • Portfolio e Carriera
    • Carriera
    • Portfolio
  • PRESS e Guest Post
  • Contatti
  • Blog
Paolo Dell'Aguzzo
  • Chi sono
  • Cosa offro
  • Portfolio e Carriera
    • Carriera
    • Portfolio
  • PRESS e Guest Post
  • Contatti
  • Blog
Ott 18
come creare un bot telegram

Come Creare Un Bot Telegram

  • 18/10/2017
  • Paolo Dell'Aguzzo
  • 9 Comments
  • Programmazione
  • bot, java, telegram, telegram bot

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.

Development Category (English)728x90

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.

Deep Learning Specialization on Coursera

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.

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:

Telegram Bot 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.

Main Java Telegram Bot

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:

Telegram Bot 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:

Come creare un bot telegram

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:

Run 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:

Come Creare un Bot Telegram

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!).

Commenti

Condividi:

  • Fai clic qui per condividere su Twitter (Si apre in una nuova finestra)
  • Fai clic per condividere su Facebook (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Tumblr (Si apre in una nuova finestra)
  • Fai clic qui per condividere su LinkedIn (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Pinterest (Si apre in una nuova finestra)
  • Fai clic per condividere su WhatsApp (Si apre in una nuova finestra)
  • Fai clic per condividere su Telegram (Si apre in una nuova finestra)
  • Clicca per condividere su Skype (Si apre in una nuova finestra)
  • Fai clic qui per stampare (Si apre in una nuova finestra)

Correlati

  • Facebook
  • Twitter
  • Tumblr
  • Pinterest
  • Google+
  • LinkedIn
  • E-Mail
Paolo Dell'Aguzzo

About The Author

Sono sempre stato affascinato dal marketing e dall'informatica a tal punto di unire le due passioni :) Se ti piace l'articolo fammelo sapere in un commento :)

Related Posts

    9 Comments

    1. Emix_69
      26/03/2019 at 11:56 · Rispondi

      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 😀

      • Paolo Dell'Aguzzo
        Paolo Dell'Aguzzo
        26/03/2019 at 14:01 · Rispondi

        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 🙂

        • Emix_69
          26/03/2019 at 14:09 · Rispondi

          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….

          • Paolo Dell'Aguzzo
            Paolo Dell'Aguzzo
            26/03/2019 at 14:52 · Rispondi

            Quì https://core.telegram.org/methods puoi trovare tutti i metodi possibili e la descrizione delle API, dunque tutto ciò che si può fare

            • Emix_69
              26/03/2019 at 15:38 ·

              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à.

            • Emix_69
              26/03/2019 at 15:50 ·

              Scusa intendevo sendMedia…

          • Paolo Dell'Aguzzo
            Paolo Dell'Aguzzo
            26/03/2019 at 15:51 · Rispondi

            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 🙂

    2. nardo lucia
      23/05/2020 at 16:42 · Rispondi

      articolo ideale per il suo scopo

      • Paolo Dell'Aguzzo
        Paolo Dell'Aguzzo
        25/05/2020 at 12:36 · Rispondi

        Sono contento che sia stato utile 🙂

    Fammi sapere cosa ne pensi :) Annulla risposta

    Impara ReactJS imparare react
    I 10 + 1 Libri che Dovrebbe Leggere Ogni Programmatore libri programmatore
    Newsletter

    Seguimi su Facebook :)

    Facebook Pagelike Widget
    Impara React Native imparare react native
    10 Cose per Stare Più Comodo in Ufficio stare più comodo in ufficio
    Impara a Creare un Tema Wordpress imparare creare tema wordpress
    Udemy I Migliori Corsi per Programmatori udemy corsi programmatori
    UX: Perché la User Experience è Importante UX importante e cos'è
    Metodologie Agili e Lean: Come migliorare la tua azienda metodologie agili
    Libri per Imparare JavaScript Imparare JavaScript libri

    Articoli recenti

    • I principali engine utilizzati per lo sviluppo di videogiochi
    • Dalla visione alla realtà: Lo sviluppo di videogiochi dal punto di vista di un programmatore
    • 8 consigli per migliorare la tua SEO Locale

    Categorie

    • CSS
    • Interviste
    • Java
    • Lavoro
    • Normative
    • Personale
    • Programmazione
    • Strategia & Marketing
    • Tech
    • Web Design
    • Wordpress
    Paolo Dell'Aguzzo
    Programmatore Software - Marotta di Mondolfo, Pesaro e Urbino
    P. IVA: IT02758450429
    Mail: info@paolodellaguzzo.com
    Via Litoranea, 284/C - Marotta (PU)
    Privacy Policy
    Cookie Policy
    In qualità di Affiliato Amazon, ricevo un guadagno per ciascun acquisto idoneo
    Amazon e il logo Amazon sono marchi registrati di Amazon.com, Inc. o delle sue affiliate
    Programmatore Senigallia, Ancona - Siti web, app iOS e Android, gestionali ReactJS, React Native, Java, SQL, PL/SQL, Heroku

     

    Caricamento commenti...