Per creare un bot di Telegram bastano davvero pochi minuti ed è alla portata di tutti. Con 2 semplici passaggi avrai un bot interattivo che risponde ai tuoi messaggi.
I requisiti per la sua creazione sono 2: ottenere una chiava di autenticazione, detta token, per l’accesso all’applicazione tramite le Telegram Bot API e l’impostazione di un webhook, ovvero un punto di chiamata sotto forma di URL, dove il bot è in ascolto per attivarsi in base ad un evento, ad esempio l’invio di un messaggio, e agire di conseguenza per fornire una risposta. Più facile a farsi che a dirsi considerando che con Google Apps Script vi bastano meno di 20 righe di codice che potete copiare e incollare.
In questo video ti mostro i passaggi da effettuare:
Di seguito il codice di cui hai bisogno:
var token = "IL_TUO_TOKEN";
var telegramUrl = "https://api.telegram.org/bot" + token;
var webAppUrl = "IL_TUO_URL";
function setWebhook() {
var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
}
function sendMessage(chat_id, text) {
var url = telegramUrl + "/sendMessage?chat_id=" + chat_id + "&text="+ text;
var response = UrlFetchApp.fetch(url);
}
function doPost(e) {
var contents = JSON.parse(e.postData.contents);
var chat_id = contents.message.from.id;
var answer = "Iscriviti al mio Canale YouTube :)";
sendMessage(chat_id, answer);
}
Il codice è così strutturato:
-
le variabili di inizializzazione.
-
la configurazione del webhook che può essere lasciata inalterata.
-
la funzione di invio messaggio che accetta come parametri l'id della chat in cui il bot dovrà scrivere e il testo del messaggio che comparirà all’utente, anche questa può essere lasciata inalterata.
- la funzione doPost() che in Apps Script per default viene eseguita all’apertura dell’URL dell’applicazione e che passa un parametro con alcune informazioni ricevute dall’app mittente, dal quale in questo caso recuperiamo l’id della chat dove il bot invierà la risposta.
Fammi sapere cosa ne pensi e iscriviti al mio canale :)
Ciao Michele, sto seguendo le tue lezioni e pian piano mi pare di progredire! Ho provato a creare un bot Telegram come da tuoi suggerimenti, ma una volta copiato ed incollato il codice, dove ho modificato token e url, l'esecuzione dello script mi rilascia questo errore: "Exception: Request failed for https://api.telegram.org returned code 400. Truncated server response: {"ok":false,"error_code":400,"description":"Bad Request: chat not found"} (use muteHttpExceptions option to examine full response)".
Sicuramente sto sbagliando qualcosa, ma non capisco dove.
Grazie per l'attenzione che mi dedicherai.
Un saluto
Daniele
Ciao Michele,
complimenti davvero per il lavoro che stai portando avanti!
Mi interessa molto l'argomento BOT telegram e relativi script. Vorrei implementare il BOT come una sorta di assistente personale per varie funzioni: dal mostrarmi un QRCODE di mio interesse ad altri dati/immagini/file.
Vorrei riuscire a creare un menu dove, a seconda della voce cliccata, fa l'azione richiesta.
Sono riuscito nella risposta statica e immagine, ma non trovo come creare un comando personalizzato
Hai un tutorial ad hoc su questo ?
Grazie e complimenti
Ciao
Filippo
Ciao Filippo,
grazie dei complimenti e del feedback! :)
Pro va vedere se questo video può fare al caso tuo, "Telegram Bot con Inline Keyboard in Google Sheets": https://www.youtube.com/watch?v=Z9VJuCDG1GE
pure io ho lo stesso problema nel dubbio cerca pure su stack overflow
pure io ho lo stesso problema nel dubbio cerca pure su stack overflow
Complimenti per i tuoi tutorial sono molto semplici e anche pertinenti.
Con questo metodo il bot ricerca la parola precisa e restituisce la colonna alla riga corrispondente il testo trovato....ma mettiamo caso che invece si volesse ricercare una parte del testo ad esempio 3 o 4 cocktail che hanno una parte del nome comune e quindi riportare tutti e 4 i risultati ....sarebbe possibile? oppure fare elencare una serie di proposte da scegliere per avere la ricetta corretta.
Complimenti per i tuoi tutorial sono molto semplici e anche pertinenti.
Con questo metodo il bot ricerca la parola precisa e restituisce la colonna alla riga corrispondente il testo trovato....ma mettiamo caso che invece si volesse ricercare una parte del testo ad esempio 3 o 4 cocktail che hanno una parte del nome comune e quindi riportare tutti e 4 i risultati ....sarebbe possibile? oppure fare elencare una serie di proposte da scegliere per avere la ricetta corretta.
Complimenti per i tuoi tutorial sono molto semplici e anche pertinenti.
Con questo metodo il bot ricerca la parola precisa e restituisce la colonna alla riga corrispondente il testo trovato....ma mettiamo caso che invece si volesse ricercare una parte del testo ad esempio 3 o 4 cocktail che hanno una parte del nome comune e quindi riportare tutti e 4 i risultati ....sarebbe possibile? oppure fare elencare una serie di proposte da scegliere per avere la ricetta corretta.
Ciao Michele,
complimenti davvero per i tuoi video tutorial!
Ho provato a creare un bot Telegram seguendo i tuoi suggerimenti, ma una volta copiato ed incollato il codice, inserito il mio token ed effettuato il deployment se scrivo qualcosa nel bot non ricevo nessuna risposta. Quale può essere la causa?
Ciao Michele,
complimenti davvero per i tuoi video tutorial!
Ho provato a creare un bot Telegram seguendo i tuoi suggerimenti, ma una volta copiato ed incollato il codice, inserito il mio token ed effettuato il deployment se scrivo qualcosa nel bot non ricevo nessuna risposta. Quale può essere la causa?