Josue9405 / fizzbuzz_bot

Una mejora al proyecto FizzBuzz, implementando un Bot en Telegram

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FizzBuzz Bot

Una mejora al proyecto FizzBuzz, implementando un Bot en Telegram

Componentes

  • JavaScript
  • Node
  • Eslint
  • Jest
  • Telegram

Requisitos previos

Debido a que requerimos un bot de Telegram, es necesario que tengamos una cuenta en esta plataforma y posteriormente generar un nuevo Bot a través de BotFather. Una vez que tengamos esto, BotFather nos dará un token para acceder a su API, este por motivos de seguridad no fue versionado en el proyecto y tendrémos que generar un archivo de nombre ./lib/token-bot.js

image

Este archivo deberá tener la siguiente estructura:

image

¿Cómo funciona?

Para iniciar el proyecto es necesario contar con Node y NPM, contando con estos componentes bastará unicamente con ejecutar el comando npm run bot para iniciar el bot en Telegram

run_bot_js

Una vez iniciado, bastará con acceder al chat de nuestro Bot y enviar datos.

chat_bot

Nuevas misiones

Los datos del proyecto son tomados desde ./data/explorers.json, al cual podremos agregar nuevos registros y misiones. Por ejemplo en mi caso agrege la misión de "elixir" para Tulio y Carlo. image

Después de reiniciar el proyecto, consultamos al bot y podrá devolver los explorers de esta misión sin necesitad de refactorizar el código.

chat_bot_elixir

Pruebas con Jest

El software lleva pruebas y punto...

Como una buena práctica, debemos realizar pruebas de nuestro código. Para ello contamos con múltiples herramientas, en este proyecto se utilizó Jest y para ejecutar las pruebas ejecutaremos en nuestro terminal npm test

student_test_js

Si todo funciona bien, no te fies, una prueba que no falla al menos una vez, no es óptima.

¿Algo no funciona?

  • Que no panda el cunico!

Si tienes dudas o no funciona correctamente, con toda confianza enviame un ticket de incidencia y lo revisamos

About

Una mejora al proyecto FizzBuzz, implementando un Bot en Telegram


Languages

Language:JavaScript 100.0%