Creare un Bot Telegram senza hosting

Nel 2016 ho scritto una guida per creare un bot Telegram step by step, oggi a distanza di più di 4 anni provo a riproporre un modo alternativo per fare la stessa cosa senza richiedere un servizio di hosting.

Anche in questo caso vedremo passo dopo passo come creare bot per Telegram semplicissimo.

Il bot non svolge nessuna azione utile se non quella di ripetere ciò che gli scriviamo.

Per prima cosa procediamo con la creazione del nostro bot su Telegram. Per procedere alla creazione di  un bot dobbiamo chiedere ad un bot chiamato BotFather di crearlo. Questa operazione può essere effettuata tramite l’applicazione mobile Telegram scrivendo a @BotFather oppure dal client web all’indirizzo https://web.telegram.org.

Dopo aver avviato la conversazione digitiamo il comando /newbot e poi rispondiamo ai messaggi del bot.

BotFather ci scrive di scegliere il nome del bot:

Alright, a new bot. How are we going to call it? Please choose a name for your bot. 

Rispondiamo: Echo e poi invia.

Successivamente BotFather ci chiede di scegliere lo username del bot:

Good. Now let's choose a username for your bot. It must be end in "bot". Like this, for example: TetrisBot or tetris_bot.

Rispondiamo: echobot e poi invia.

Se lo username è disponibile ed è valido il bot ci risponde come segue:

Done! Congratulations on your new bot. You will find it at t.me/{YOUR BOT NAME}. You can now add a description, about section and profile picture for your bot, see /help for a list of commands.
 
Use this token to access the HTTP API:
{YOUR TOKEN HERE}
Keep your token secure and store it safely, it can be used by anyone to control your bot.

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

I campi {YOUR BOT NAME}, {YOUR TOKEN HERE} saranno opportunamente valorizzati, in particolare il secondo dei due è fondamentale per le fasi successive di configurazione del bot.

La fase successiva precede la creazione di un account sulla piattaforma Autocode.com che funzionerà da hosting del nostro bot Telegram.

Andiamo sul sito autocode.com, apparirà una pagina come quella seguente.

Inseriamo nella casella di testo il nostro indirizzo e-mail e facciamo click sul bottone Sign Up FREE.

Procediamo con la registrazione inserendo lo username da associare al nostro account ed una password. Per completare la registrazione facciamo click sul bottone Sign Up FREE.

A questo punto ci viene richiesto di creare il nostro progetto, inseriamo ad esempio echo-bot, come nella schermata che segue.

Procediamo facendo click sul bottone Save and Continue, ci apparirà una pagina come quella di seguito riportata.

Facciamo click sull’opzione Custom Webhook. Autocode creerà per noi il progetto e apparirà una pagina come quella seguente.

Facciamo click sul bottone Save Endpoint.

Questa azione creerà uno script chiamato __main__.js all’interno della cartella functions che si trova a sinistra, sotto il nome del progetto. Nel mio caso il nome del progetto è salvatorecordiano/echo-bot.

L’area mostrata dalla figura seguente è l’editor che contiene il codice di esempio dello script __main__.js.

Cancelliamo il contenuto dell’editor e sostituiamolo con il codice contenuto su GitHub qui.

Così facendo l’editor apparirà come nella schermata seguente.

Facciamo nuovamente click sul bottone Save Endpoint per salvare le modifiche fatte.

Successivamente facciamo click sul botte Deploy e attendiamo la conferma dell’operazione.

Questa operazione consiste nel confermare le nostre modifiche e far si che il codice scritto sia eseguibile. Se l’operazione è andata a buon fine riceveremo una conferma come mostrato di seguito.

Adesso dobbiamo comunicare a Telegram come raggiungere il nostro script Node.js pubblicato su Autocode. Per fare ciò dobbiamo copiare il Deploy URL da autocode, che si trova sopra il bottone Save Endpoint usato in precedenza.

Per farlo dobbiamo modificare la stringa dell’indirizzo web che segue, sostituendo {YOUR TOKEN HERE} con il token generato da Bot Father ad inizio guida e {YOUR URL HERE} con il deploy url appena copiato.

https://api.telegram.org/bot{YOUR TOKEN HERE}/setWebhook?url={YOUR URL HERE}

Per costruire correttamente lo url come mostrato nell’immagine sottostante è necessario sostituire i testi segnaposto ({YOUR TOKEN HERE} e {YOUR URL HERE}) con i valori ottenuti durante il tutorial.

Nell’immagine che segue è mostrato un url ben formato.

Copia ed incolla l’url ben formato sulla finestra del tuo browser. Se tutto è andato bene la pagina web mostra il seguente messaggio

{"ok":true,"result":true,"description":"Webhook was set"}

Altrimenti controlla di aver effettuato le sostituzioni correttamente.

Il nostro bot è pronto. Non ci resta che aprire un client Telegram (app o web) ed avviare una chat con il bot cercandolo attraverso lo username scelto in precedenza.

Questions?

Have a question about this post or anything else? Ask away on Twitter or in my AMA repo.

2 thoughts on “Creare un Bot Telegram senza hosting”

Leave a Reply

Your email address will not be published. Required fields are marked *