Índice:
Introducción
El objetivo es explicar cómo configurar el flujo del bot de forma sencilla para comprobar si un determinado día es festivo y trasladarlo a un flujo específico, como por ejemplo, un mensaje de notificación informando que en ese día no hay servicio.
Configurando el flujo
Acceda al bloque que aplicará la configuración y cree una acción de entrada del tipo ejecutar un script, cambie el nombre del script a checkHoliday.
- No es necesario pasar variables de entrada.
- Guarde el retorno del script en una variable llamada isHoliday
- Utilice el siguiente script
function run() {
const today = new Date();
const holidays = ["01-01", "15-04", "21-04", "01-05", "16-06", "07-09", "12-10", "02-11", "15-11", "25-12", "14-10"];
const month = ((today.getUTCMonth() + 1) <= 9) ? "0" + (today.getUTCMonth() + 1) : (today.getUTCMonth() + 1);
const day = today.getUTCDate() <= 9 ? "0" + today.getUTCDate() : today.getUTCDate();
const monthDay = day + "-" + month;
return holidays.includes(monthDay);
}
Nota: Elimine el script que viene por defecto, pegue el código de arriba y presione control + s para guardar.
4. En el bloque donde se configuró el script, vaya a la pestaña de condiciones de salida y cree dos condiciones, la primera verificando si la variable isHoliday es igual a true, de ser así, irá al bloque deseado donde se informa que es festivo, si es false seguirá el flujo normal.
5. Publique el flujo.
Personalización de días festivos
De forma predeterminada, el script ya trae algunos días festivos nacionales, a continuación, algunas orientaciones sobre cómo incluir o excluir días festivos.
Cualquier cambio de fechas debe realizarse únicamente en el siguiente comando:
let holidays = ["01-01", "15-04", "21-04", "01-05", "16-06", "07-09","12-10", "02-11", "15-11", "25-12"];
Incluir
La inclusión de una nueva fecha debe realizarse siempre en el formato “dd-MM”, si utiliza otro símbolo como una barra oblicua (/) en lugar del guión (-) no funcionará, ejemplo de inclusión del 31 -12
- Agregue una coma
- Ingrese la fecha deseada en el patrón "dd-MM" entre comillas dobles
- Presione control + s para guardar el script
- Publique el flujo
let holidays = ["01-01", "15-04", "21-04", "01-05", "16-06", "07-09","12-10", "02-11", "15-11", "25-12", “31-12”];
Nota: Como buena práctica, se sugiere incluir la fecha en orden cronológico para facilitar futuros cambios, ejemplo: festivo 28-02 (carnaval), debe incluirse entre el 01-01 y el 15-04, como se muestra a continuación.
["01-01", “28-02”, "15-04", "21-04", "01-05", "16-06", "07-09","12-10", "02-11", "15-11", "25-12"];
Eliminar
Para eliminar una fecha específica se debe eliminar también una coma, ya que cada festivo debe estar separado solamente por una coma.
Ejemplo antes:
let holidays = ["01-01", "15-04", "21-04", "01-05", "16-06", "07-09","12-10", "02-11", "15-11", "25-12"];
Ejemplo después de eliminar 15-04
let holidays = ["01-01", "21-04", "01-05", "16-06", "07-09","12-10", "02-11", "15-11", "25-12"];
Sugerencia de estructura
La sugerencia a continuación utiliza el bot de template de servicio humano disponible, es importante que la implementación sea adecuada para la estructura de cada bot.
- Cree un nuevo bloque llamado 1.0 - Verificar de festivos que recibirá la configuración detallada anteriormente.
- Cree un nuevo bloque llamado 1.1 - Es festivo que tendrá un mensaje informándole que en el día dado no hay servicio debido a que es festivo y dirigiendo su salida estándar al Inicio del flujo, o redirigiéndolo al bot principal, en caso de uso del enrutador.
- En el bloque 1.0 - Verificar festivos, cree dos condiciones de salida para verificar la variable isHoliday, si es true, envíelo a 1.1 - Es festivo, si es false, envíe, ve al bloque de verificación de horario.
Para obtener más información, acceda a la discusión sobre el tema en nuestra comunidad o los videos en nuestro canal. 😃