codigoencasa / builderbot

🤖 Crear Chatbot WhatsApp en minutos. Únete a este proyecto OpenSource
https://www.builderbot.app
MIT License
2.44k stars 833 forks source link

Cración de addKeyword con información dinamica #1073

Closed Surita-pixel closed 4 months ago

Surita-pixel commented 4 months ago

tengo un flujo para realizar un registro muy basico de usuarios

const flowSecundario = addKeyword(['registro'])
  .addAnswer(['¿Que departamento habitas?', departamentosLimpios])
  .addAction({ capture: true }, async (ctx, { flowDynamic, state, fallBack }) => {
    const departmentIndex = parseInt(ctx.body.trim()); // Convertimos la entrada a un número entero
    if (!isNaN(departmentIndex) && departmentIndex > 0 && departmentIndex <= DEPARTAMENTOS.length) {
      const selectedDepartment = DEPARTAMENTOS[departmentIndex - 1].nombre_parametro;
      const codigoPadre = DEPARTAMENTOS[departmentIndex - 1].cod_parametro
      municipiosFiltrados = MUNICIPIOS.filter(municipio => municipio.cod_parametro_padre === codigoPadre);

      municipiosFiltrados.sort((a, b) => (a.nombre_parametro > b.nombre_parametro) ? 1 : -1);
      municipiosLimpios = MUNICIPIOS.map((departamento, index) => `*${index + 1}) ${departamento.nombre_parametro}*`).join('\n');
      await state.update({ department: selectedDepartment });
    } else {
      return ctx.fallBack('Por favor ingresa un dato válido correspondiente a las opciones mostradas.');
    }
  })
  .addAnswer(['Indica el municipio', municipiosLimpios])
  .addAction({ capture: true }, async (ctx, { flowDynamic, state }) => {
    const residence_municipality = ctx.body;
    await state.update({ residence_municipality });
  })

mi idea es crear la respuesta para seleccionar el municipio desde el string que se le está pasando como parametro a indica municipio pero aunque el string se crea antes de alcanzar el punto donde se usa como parametro me devuelve un undefined

Existe una mejor forma de aplicar la logica que quiero ejecutar? o la librería no soporta dicha sintaxis?

ozzyoss77 commented 4 months ago

@Surita-pixel esta consulta la puedes exponer en nuestro canal de discord, esto no es un issue de la librería así que procedo a cerrarlo definitivamente. En un futuro por favor direccionar las consultas vs problemas de codigo de la lib.