Este proyecto implementa un bot de Telegram que permite gestionar turnos médicos de forma sencilla e interactiva.
- Crear un nuevo bot en Telegram
- Abre Telegram y conversa con @BotFather.
- Envía el comando /newbot y sigue las instrucciones.
- Al finalizar, recibirás un token de acceso.
- Configurar variables de entorno
- Copia el archivo
.env.example
a.env
:
cp .env.example .env
- Reemplaza el valor de
<YOUR_TELEGRAM_TOKEN>
con el token obtenido en el paso anterior.
Ejecuta las pruebas con:
bundle exec rake
⚠️ Los tests utilizan WebMock. Para testear el cliente correctamente, usaapp.run_once
, ya que el bot entra en un loop de espera si no se configura así.
ruby app.rb
Para correr el bot en un entorno productivo con Docker:
docker-compose -f docker-compose.prod.yml --env-file ./.env up --build
El proyecto incluye la gema Faraday para realizar solicitudes HTTP de manera simple y flexible.
La app utiliza la gema SemanticLogger.
- Puedes configurar el nivel de log en el archivo de configuración.
- Niveles disponibles: trace, debug, info, warn, error, fatal.
Para utilizar componentes interactivos como teclados personalizados de Telegram, consulta la documentación oficial de la gema utilizada: