-
-
Notifications
You must be signed in to change notification settings - Fork 844
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[🐛] Bug un flujo no respeta delay si entró por medio de gotoFlow #877
Comments
fix: ⚡ delay after gotoFlow #877
Solucionado next-release |
Hola! |
ya tengo "dev", aun asi sigue presente el problema "@adiwajshing/baileys": "4.4.0", |
Veo que tu problema radica es en el hecho de que no tienes declarado los flujos como procesos asincronos: const flowtest3 = addKeyword("test3")
.addAction(async (_, { flowDynamic }) => {
const msg = [
"Menu",
"1️⃣ Test1",
"2️⃣ Test2",
"3️⃣ Test3",
"",
"Escribe el numero de la opcion",
];
await flowDynamic(msg.join("\n"));
})
.addAnswer(
"Seleccione una opción",
{ capture: true, delay: 1000 },
async (ctx, { fallBack, flowDynamic, endFlow }) => {
if (!["1", "2", "3"].includes(ctx.body)) {
console.log("Entro en la validación");
return fallBack("opcion no valida");
}
console.log("Finaliza");
return endFlow;
}
);
const flowtest2 = addKeyword("test2")
.addAction(async (_, { flowDynamic }) => {
await flowDynamic("2) Test2");
}).addAction(async (_, { gotoFlow }) => {
/* const { flowtest3 } = require("flowtest"); */
return gotoFlow(flowtest3);
});
const flowtest1 = addKeyword("test1")
.addAction(async (_, { flowDynamic }) => {
await flowDynamic("1) Test1");
})
.addAction(async (_, { gotoFlow }) => {
return gotoFlow(flowtest3);
}); Estoy probando con ese codigo y funciona correcto! Te recomiendo usar eslint con el plugin diseñador para el bot y evitar que estas cosas te ocurran te comaparto mi package {
"name": "base-bailey-json",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"start": "npx eslint . --no-ignore && node app.js"
},
"keywords": [],
"dependencies": {
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest",
"@bot-whatsapp/portal": "latest",
"mime-types": "2.1.35",
"@whiskeysockets/baileys": "6.5.0",
"wa-sticker-formatter": "4.4.4",
"cache-manager": "5.2.4"
},
"devDependencies": {
"eslint-plugin-bot-whatsapp": "latest",
"eslint": "^8.52.0"
},
"author": "",
"license": "ISC"
} |
Buen día, existe alguna novedad respecto a esta issue? El problema aun persiste, al acceder a un flow desde un gotoFlow los delay no funcionan enviándose de inmediato uno detrás del otro sin esperar el tiempo correspondiente. |
¿Que versión estas usando?
v2
¿Sobre que afecta?
Flujo de palabras (Flow)
Describe tu problema
Cuando se entra a un flujo por medio de gotoFlow, se ignora la opción de delay que tiene un mensaje y se envía de inmediato.
Reproducir error
No response
Información Adicional
Ejemplo de codigo:
archivo20.js
archivo21.js
**Problema:
Si entras directamente al flujo del archivo21.js si se respeta el delay de cada addAnswer ( o en su caso si se usa la función delay() en el callback) pero cuando entras al flujo por medio del gotoflow que esta en el archivo20.js los mensajes no respetan el delay y se envían al instante uno tras otro.**
The text was updated successfully, but these errors were encountered: