Se ha implementado un nuevo flujo de conversación para que los usuarios puedan definir su horario de trabajo a través del comando .
Cambios:
1. **Nuevo **: Se ha añadido un nuevo archivo JSON que define las preguntas y los estados de la conversación para la definición de horarios.
2. **Actualización de **: Se ha añadido el comando a la lista de comandos del bot para que sea visible en el menú de Telegram.
El existente carga dinámicamente este nuevo flujo, haciéndolo disponible para los usuarios sin necesidad de cambios adicionales en la lógica principal del bot.
This commit refactors the bot's architecture to dynamically load and build conversation flows from JSON files instead of hardcoding them in Python.
- Added to read flow definitions from the directory and dynamically build s.
- Refactored to use the new flow builder and load all conversation handlers at startup.
- Moved hardcoded links to environment variables for better configuration.
- Updated to support conditional branching for 'Other' options, using a field to define state transitions.
- Updated with the new link variables.
Se han extraído los flujos de conversación de los handlers de y a archivos JSON dedicados dentro del nuevo directorio .
Este cambio tiene como objetivo:
1. **Centralizar y desacoplar la lógica de conversación**: Al separar las preguntas y los estados del código de Python, se facilita la visualización, edición y mantenimiento de los flujos sin necesidad de modificar la lógica de la aplicación.
2. **Facilitar la mejora de los flujos**: Con los flujos definidos en un formato de datos estructurado, es más sencillo analizarlos, identificar posibles errores o bucles, y realizar mejoras de manera más segura.
3. **Preparar para futuras funcionalidades**: Esta estructura sienta las bases para poder cargar y gestionar los flujos de conversación de manera dinámica, permitiendo, por ejemplo, la creación de un editor visual de flujos o la carga de flujos desde una base de datos.
Se han creado los siguientes archivos:
- : Contiene el flujo de onboarding de nuevas empleadas.
- : Define el flujo para solicitar vacaciones.
- : Especifica el flujo para solicitar permisos.