MrWolfa

Un Bot Telegram sviluppato in Node.js in grado di rispondere a domande riguardanti diversi ambiti, come matematica, fisica, storia, cultura, nutrizione e tanti altri.

Il calcolo delle risposte sfrutta la potenza del motore computazionale di conoscenza Wolfram|Alpha e della sua API.

Le risposte generate possono essere o messaggi di testo o anche messaggi vocali sintetizzati grazie alla Google Cloud Text-to-Speech API.


Source code Bot
Image
Funziona in chat privata
Image
Risponde con messaggi vocali
Image
Filtra le domande opportunamente
Image
Funziona come inline-bot
Image
Calcoli semplici con Math.js
Image
Wolfram|Alpha per tutto il resto

Cosa ho fatto

  • Ho utilizzato il framework Telegraf.js per comunicare con la Telegram Bot API e sviluppare un bot con un set di comandi personalizzati, funzionante sia in chat privata che come inline-bot
  • Ho usato la libreria wolfram-alpha-api per inviare domande ed ottenere risposte da Wolfram|Alpha
  • Ho utilizzato il client Node.js della Google Cloud Text-to-Speech API per sintetizzare le risposte ottenute da Wolfram|Alpha e poterle inviare come messagi vocali
  • Ho utilizzato il modulo languagedetect per implementare un filtro che individua le domande in inglese scorretto, al fine di non sprecare chiamate api
  • Ho usato Math.js per gestire le domande contententi matematica elementare, al fine di non sprecare chiamate api
  • Ho scelto un approccio Object Oriented, nel dettaglio ho utilizzato una combinazione del Template method pattern e dello Strategy pattern per implementare l'albero decisionale con cui il bot risponde alle domande
  • Ho utilizzato Git ed una Heroku Pipeline per implementare un semplice workflow per la continuous delivery e la gestione delle release del bot