Files
telegram_new_socias/conv-flows/vacations.json
Marco Gallegos fc0e798703 feat: Extraer flujos de conversación a formato JSON
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.
2025-12-20 09:33:58 -06:00

61 lines
1.6 KiB
JSON

{
"flow_name": "vacations",
"steps": [
{
"state": "INICIO_DIA",
"question": "🌴 **Solicitud de Vacaciones**\n\nVamos a registrar tu descanso. ¿Qué *día* inicia? (número, ej: 10)",
"handler": "recibir_inicio_dia",
"type": "text"
},
{
"state": "INICIO_MES",
"question": "¿De qué *mes* inicia?",
"handler": "recibir_inicio_mes",
"type": "keyboard",
"options": [
"Enero", "Febrero", "Marzo",
"Abril", "Mayo", "Junio",
"Julio", "Agosto", "Septiembre",
"Octubre", "Noviembre", "Diciembre"
]
},
{
"state": "INICIO_ANIO",
"question": "¿De qué *año* inicia?",
"handler": "recibir_inicio_anio",
"type": "keyboard",
"options": ["current_year", "next_year"]
},
{
"state": "FIN_DIA",
"question": "¿Qué *día* termina tu descanso?",
"handler": "recibir_fin_dia",
"type": "text"
},
{
"state": "FIN_MES",
"question": "¿De qué *mes* termina?",
"handler": "recibir_fin_mes",
"type": "keyboard",
"options": [
"Enero", "Febrero", "Marzo",
"Abril", "Mayo", "Junio",
"Julio", "Agosto", "Septiembre",
"Octubre", "Noviembre", "Diciembre"
]
},
{
"state": "FIN_ANIO",
"question": "¿De qué *año* termina tu descanso?",
"handler": "recibir_fin_anio",
"type": "keyboard",
"options": ["current_year", "next_year"]
},
{
"state": "MOTIVO",
"question": "Entendido. ¿Cuál es el motivo o comentario adicional?",
"handler": "recibir_motivo_fin",
"type": "text"
}
]
}