Skip to content

Codice di base per esercitazione con NodeJS e API per Bot Telegram.

License

Notifications You must be signed in to change notification settings

DigiPlatMOOC/esercitazione-bot-telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Esercitazione Bot Telegram

Esercitazione da svolgere individualmente.

Questa repository contiene del codice di esempio per NodeJS: un Web service che espone un singolo metodo (in POST), che può essere configurato come Webhook di un Bot Telegram. Il server NodeJS riceverà quindi delle richieste HTTP per ogni messaggio ricevuto dal Bot Telegram e potrà far reagire il bot con risposte testuali (o altro).

Svolgimento

Configurazione del Bot

  1. Registrarsi su Telegram, se non si dispone di un account utente;
  2. Contattare il bot @botfather e seguire la conversazione guidata per creare un nuovo bot,
  3. Ottenere il token di accesso del proprio bot (una lunga sequenza di caratteri alfanumerici).

Configurazione del server

  1. Scaricare il contenuto della repository e configurare un server raggiungibile su Internet (si consiglia di utilizzare il servizio Glitch oppure Heroku);
  2. Caricare i file della repository sul proprio server;
  3. Rinominare il file .env-template in .env, che conterrà i "segreti" della propria applicazione;
  4. Incollare il token di accesso del proprio bot nella variabile BOTTOKEN del file .env.

Configurazione del Webhook

  1. Leggere la documentazione del metodo setWebhook;
  2. Effettuare una richiesta HTTP con metodo POST all'URL https://api.telegram.org/botTOKEN/setWebhook (dove TOKEN è sostituito dall'effettivo token di accesso del proprio bot) ed impostando il parametro url con l'URL del proprio Web service;
  3. L'API di Telegram confermerà la creazione del Webhook ed invierà così una richiesta HTTP al Web service per ogni messaggio ricevuto dal bot.

Implementazione del Bot

  1. Verificare la logica del file server.js (riga 14), dove il messaggio di Telegram in arrivo viene letto come blocco JSON e se ne estraggono i parametri (generalmente i parametri di interesse sono il "chat ID", che identifica la conversazione con l'utente, ed il testo del messaggio);
  2. Alterare la logica dove viene generata una richiesta HTTP (riga 21), in modo da usare il metodo sendMessage dell'API Telegram e quindi dialogare con l'utente.
  3. Implementare una conversazione con l'utente, eventualmente effettuando del semplice pattern matching sull'input testuale dell'utente (ad esempio, è possibile usare il metodo indexOf per verificare la presenza di una stringa all'interno di un'altra stringa).

Consegna

Il bot consegnato deve svolgere una semplice conversazione con l'utente, ad esempio invertendo i messaggi dell'utente, inserendo emoji casuali oppure rispondendo con immagini casuali di Nicholas Cage.

About

Codice di base per esercitazione con NodeJS e API per Bot Telegram.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published