mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
Actualización de función endFlow()
Actualización de función endFlow()
This commit is contained in:
@@ -152,57 +152,65 @@ const flowString = addKeyword('hola')
|
||||
|
||||
## endFlow()
|
||||
|
||||
Esta funcion se utliza para finalizar un flujo con dos o más addAnswer. Un ejemplo de uso sería registrar 3 datos de un usuario en 3 preguntas distinas y
|
||||
que el usuario pueda finalizar por él mismo el flujo.
|
||||
Esta funcion se utliza para **finalizar un flujo con dos** o más addAnswer. Un ejemplo de uso sería registrar 3 datos de un usuario en 3 preguntas distinas y
|
||||
que el usuario **pueda finalizar por él mismo el flujo**.
|
||||
Como podrás comprobar en el ejemplo siguiente, se puede vincular flowDynamic y todas sus funciones; como por ejemplo botones.
|
||||
|
||||
```js
|
||||
const flowFormulario = addKeyword(['Hola'])
|
||||
let nombre;
|
||||
let apellidos;
|
||||
let telefono;
|
||||
|
||||
const flowFormulario = addKeyword(['Hola','⬅️ Volver al Inicio'])
|
||||
.addAnswer(
|
||||
['Hola!', 'Escriba su *Nombre* para generar su solicitud'],
|
||||
['Hola!','Para enviar el formulario necesito unos datos...' ,'Escriba su *Nombre*'],
|
||||
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
||||
|
||||
async (ctx, { flowDynamic, endFlow }) => {
|
||||
if (ctx.body == '❌ Cancelar solicitud') {
|
||||
await flowDynamic([
|
||||
{
|
||||
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
|
||||
buttons: [{ body: '⬅️ Volver al Inicio' }],
|
||||
},
|
||||
])
|
||||
return endFlow()
|
||||
}
|
||||
if (ctx.body == '❌ Cancelar solicitud')
|
||||
return endFlow({body: '❌ Su solicitud ha sido cancelada ❌', // Aquí terminamos el flow si la condicion se comple
|
||||
buttons:[{body:'⬅️ Volver al Inicio' }] // Y además, añadimos un botón por si necesitas derivarlo a otro flow
|
||||
|
||||
|
||||
})
|
||||
nombre = ctx.body
|
||||
return flowDynamic(`Encantado *${nombre}*, continuamos...`)
|
||||
}
|
||||
)
|
||||
.addAnswer(
|
||||
['También necesito tus dos apellidos'],
|
||||
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
||||
|
||||
async (ctx, { flowDynamic, endFlow }) => {
|
||||
if (ctx.body == '❌ Cancelar solicitud') {
|
||||
await flowDynamic([
|
||||
{
|
||||
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
|
||||
buttons: [{ body: '⬅️ Volver al Inicio' }],
|
||||
},
|
||||
])
|
||||
return endFlow()
|
||||
}
|
||||
if (ctx.body == '❌ Cancelar solicitud')
|
||||
return endFlow({body: '❌ Su solicitud ha sido cancelada ❌',
|
||||
buttons:[{body:'⬅️ Volver al Inicio' }]
|
||||
|
||||
|
||||
})
|
||||
apellidos = ctx.body
|
||||
return flowDynamic(`Perfecto *${nombre}*, por último...`)
|
||||
}
|
||||
)
|
||||
.addAnswer(
|
||||
['Dejeme su número de teléfono y le llamaré lo antes posible.'],
|
||||
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
||||
|
||||
async (ctx, { flowDynamic, endFlow }) => {
|
||||
if (ctx.body == '❌ Cancelar solicitud') {
|
||||
await flowDynamic([
|
||||
{
|
||||
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
|
||||
buttons: [{ body: '⬅️ Volver al Inicio' }],
|
||||
},
|
||||
])
|
||||
return endFlow()
|
||||
}
|
||||
if (ctx.body == '❌ Cancelar solicitud')
|
||||
return endFlow({body: '❌ Su solicitud ha sido cancelada ❌',
|
||||
buttons:[{body:'⬅️ Volver al Inicio' }]
|
||||
})
|
||||
|
||||
|
||||
telefono = ctx.body
|
||||
await delay(2000)
|
||||
return flowDynamic(`Estupendo *${nombre}*! te dejo el resumen de tu formulario
|
||||
\n- Nombre y apellidos: *${nombre} ${apellidos}*
|
||||
\n- Telefono: *${telefono}*`)
|
||||
}
|
||||
)
|
||||
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user