Closed nelsonromerog closed 1 year ago
Probar esta version npm install @bot-whatsapp/bot@dev
NOTA Esta nueva implementacion incluira un cambio que requiere si tienes un capture necesitaras colocar un flowDynamic obligatoriamente para continuar el flujo.
VIDEO https://share.vidyard.com/watch/TKbt4RRSme7e6ePuegpKuu?
const {
createBot,
createProvider,
createFlow,
addKeyword,
} = require('@bot-whatsapp/bot')
const QRPortalWeb = require('@bot-whatsapp/portal')
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const MockAdapter = require('@bot-whatsapp/database/mock')
const delay = (ms) => new Promise((resolve) => setTimeout(resolve,ms))
const fakeHTTP = async () => {
await delay(1000)
return ['Gracias por tu email se ha validado de manera correcta']
}
const flowGracias = addKeyword('gracias').addAnswer('De nada!')
const flowPrincipal = addKeyword('hola')
.addAnswer(
"🙌 ¿CUal es tu email?",
{
capture: true,
},
async (ctx, { flowDynamic, fallBack }) => {
const validation = ctx.body.includes('@')
if(validation) {
const getDataFromApi = await fakeHTTP()
return flowDynamic(getDataFromApi)
}
return fallBack(validation)
}
)
.addAnswer(
"Continuamos....",
)
.addAnswer(
"¿Cual es tu edad?",
{capture:true},
async (ctx,{flowDynamic, fallBack}) => {
if(ctx.body !== '18'){
await delay(50)
return fallBack(false, 'Ups creo que no eres mayor de edad')
}
return flowDynamic('Bien tu edad es correcta!')
}
).addAnswer('Puedes pasar', null, null, flowGracias)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(BaileysProvider)
createBot({
flow: adapterFlow,
provider: adapterProvider,
database: adapterDB,
})
}
main()
@nelsonromerog fijate que ahora el fallBack(false, 'Ups creo que no eres mayor de edad')
puede recibir dos parametros el primero argumento es obligatorio, es un boolean
y el segundo opcional para si se quiere proporcionar uh mensaje mas personalizado
@cheveguerra
npm install @bot-whatsapp/bot@0.0.84-alpha.0 Con esta version si funciona el fallBack de flows secundarios!!
npm install @bot-whatsapp/bot@0.0.84-alpha.0 Con esta version si funciona el fallBack de flows secundarios!!
Gracias por tu feedback pronto estaremos liberando esta version como latest
@leifermendez me causa un poco de duda el fallBack con 2 parámetros, entiendo el segundo , pero el primer parámetro cuando está en true que sucede al igual cuando está en false?
Finalmente creo que consiguió un estabilidad para la siguiente version (0.1.22) pueden usar esto https://codefile.io/f/0vyuaUfaAE6pXmLWYZvg o el que quiera lo puede usar instalando dev
Fase 1 Cerrada y arreglada en #645 0.1.23
¿Que versión estas usando?
v2
¿Sobre que afecta?
Flujo de palabras (Flow)
Describe tu problema
El problema es cuando tengo un fallBack dentro de un addAnswer con capture true, si me está mostrando nuevamente el mensaje del addAnswer pero ya no me espera el capture true y se salta al siguiente addAnswer. Ejemplo: En el addAnswer hasta arriba tengo un fallBack el cual se activa cuando tengo un error en la consulta de la funcion en la línea 120. Cuando se activa este fallBack me muestra el mensaje de la línea 113 como debe de ser, pero lo raro es que de ahí me salta al siguiente addAnswer de la línea 150 sin esperar nuevamente del capture del addAnswer línea 112
Código de ejemplo:
Reproducir error
No response
Información Adicional
No response