Telegram Bot Example

  1. Registrar un nuevo bot con el BotFather de Telegram
  1. Copiar el archivo .env.example a .env y reemplazar <YOUR_TELEGRAM_TOKEN> con el token del paso anterior

  2. Correr los tests con bundle exec rake

  3. Levantar la app localmente con ruby app.rb

Deploy a Heroku

  1. Crear la app en heroku
  2. Agregar el remote heroku git:remote -a <app_name>
  3. Hacer deploy con git push heroku master
  4. Ir a los settings y agregar una nueva variable de entorno TELEGRAM_TOKEN con el valor del token
  5. Ir a los Dynos, editar los dynos y confirmar la activación (ver imagen)

Testing

Los tests utilizan WebMock. Para testear el cliente, siempre usar app.run_once de lo contrario el bot se queda esperando mensajes y el test no finaliza nunca.

Llamadas a otras API por HTTP

Se puede utilizar la gema incluida en el repo Faraday

Correr con docker en modo produccion

docker-compose -f docker-compose.prod.yml --env-file ./.env up --build

Logging

La aplicación utiliza la gema SemanticLogger El log level se especifica en la configuracion con uno de los siguientes valores: trace|debug|info|warn|error|fatal.

Más información

Para utilizar otras funcionalidades de Telegram como los Keyboards especiales ver la doc en: https://github.com/atipugin/telegram-bot-ruby