mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-20 12:39:24 +00:00
Actualización de función endFlow()
This commit is contained in:
@@ -181,57 +181,65 @@ const flowString = addKeyword('hola')
|
|||||||
|
|
||||||
## endFlow()
|
## 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
|
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.
|
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.
|
Como podrás comprobar en el ejemplo siguiente, se puede vincular flowDynamic y todas sus funciones; como por ejemplo botones.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const flowFormulario = addKeyword(['Hola'])
|
let nombre;
|
||||||
|
let apellidos;
|
||||||
|
let telefono;
|
||||||
|
|
||||||
|
const flowFormulario = addKeyword(['Hola','⬅️ Volver al Inicio'])
|
||||||
.addAnswer(
|
.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' }] },
|
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
||||||
|
|
||||||
async (ctx, { flowDynamic, endFlow }) => {
|
async (ctx, { flowDynamic, endFlow }) => {
|
||||||
if (ctx.body == '❌ Cancelar solicitud') {
|
if (ctx.body == '❌ Cancelar solicitud')
|
||||||
await flowDynamic([
|
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
|
||||||
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
|
|
||||||
buttons: [{ body: '⬅️ Volver al Inicio' }],
|
|
||||||
},
|
})
|
||||||
])
|
nombre = ctx.body
|
||||||
return endFlow()
|
return flowDynamic(`Encantado *${nombre}*, continuamos...`)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.addAnswer(
|
.addAnswer(
|
||||||
['También necesito tus dos apellidos'],
|
['También necesito tus dos apellidos'],
|
||||||
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
||||||
|
|
||||||
async (ctx, { flowDynamic, endFlow }) => {
|
async (ctx, { flowDynamic, endFlow }) => {
|
||||||
if (ctx.body == '❌ Cancelar solicitud') {
|
if (ctx.body == '❌ Cancelar solicitud')
|
||||||
await flowDynamic([
|
return endFlow({body: '❌ Su solicitud ha sido cancelada ❌',
|
||||||
{
|
buttons:[{body:'⬅️ Volver al Inicio' }]
|
||||||
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
|
|
||||||
buttons: [{ body: '⬅️ Volver al Inicio' }],
|
|
||||||
},
|
})
|
||||||
])
|
apellidos = ctx.body
|
||||||
return endFlow()
|
return flowDynamic(`Perfecto *${nombre}*, por último...`)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.addAnswer(
|
.addAnswer(
|
||||||
['Dejeme su número de teléfono y le llamaré lo antes posible.'],
|
['Dejeme su número de teléfono y le llamaré lo antes posible.'],
|
||||||
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
|
||||||
|
|
||||||
async (ctx, { flowDynamic, endFlow }) => {
|
async (ctx, { flowDynamic, endFlow }) => {
|
||||||
if (ctx.body == '❌ Cancelar solicitud') {
|
if (ctx.body == '❌ Cancelar solicitud')
|
||||||
await flowDynamic([
|
return endFlow({body: '❌ Su solicitud ha sido cancelada ❌',
|
||||||
{
|
buttons:[{body:'⬅️ Volver al Inicio' }]
|
||||||
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
|
})
|
||||||
buttons: [{ body: '⬅️ Volver al Inicio' }],
|
|
||||||
},
|
|
||||||
])
|
telefono = ctx.body
|
||||||
return endFlow()
|
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