From 2040f857a56d2d6eee6504b6bb602476831d0a44 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 11:44:19 +0000 Subject: [PATCH 1/4] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated=20v?= =?UTF-8?q?ersions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From a71566f2ad3bf37deb450dac350c4ff858cd4120 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 11:45:52 +0000 Subject: [PATCH 2/4] ci(version): :zap: automatic - "${date}" updated versions every packages --- packages/bot/package.json | 2 +- packages/cli/package.json | 2 +- packages/create-bot-whatsapp/package.json | 2 +- packages/database/package.json | 2 +- packages/provider/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/bot/package.json b/packages/bot/package.json index fa7dc12..4a722ce 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.41-alpha.0", + "version": "0.0.42-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 5a86b89..5a0007c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.48-alpha.0", + "version": "0.0.49-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index c96f366..ddfae8e 100644 --- a/packages/create-bot-whatsapp/package.json +++ b/packages/create-bot-whatsapp/package.json @@ -1,6 +1,6 @@ { "name": "create-bot-whatsapp", - "version": "0.0.59-alpha.0", + "version": "0.0.60-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 50a5cee..6d8e007 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.40-alpha.0", + "version": "0.0.41-alpha.0", "description": "Esto es el conector a mysql, pg, mongo", "main": "./lib/mock/index.cjs", "keywords": [], diff --git a/packages/provider/package.json b/packages/provider/package.json index 9fb35b8..d5c0ea2 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.46-alpha.0", + "version": "0.0.47-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From a6c10fe414b8502c0ddfefa63c4e75d264d95346 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Fri, 6 Jan 2023 14:31:04 +0100 Subject: [PATCH 3/4] chore: :art: working --- packages/bot/core/core.class.js | 43 ++++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index 7550dd0..9491219 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -18,6 +18,7 @@ class CoreClass { flowClass databaseClass providerClass + listCallbacks = [] constructor(_flow, _database, _provider) { this.flowClass = _flow this.databaseClass = _database @@ -114,18 +115,24 @@ class CoreClass { } // 📄 Se encarga de revisar si el contexto del mensaje tiene callback y ejecutarlo - const cbEveryCtx = (inRef) => { - this.flowClass.allCallbacks[inRef](messageCtxInComming, { - fallBack, - flowDynamic, - }) - } + const cbEveryCtx = + (inRef, _injectMessageCtx, _injectfallBack, _injectflowDynamic) => + () => { + this.flowClass.allCallbacks[inRef](_injectMessageCtx, { + fallBack: _injectfallBack, + flowDynamic: _injectflowDynamic, + }) + } // 📄 [options: callback]: Si se tiene un callback se ejecuta - if (!fallBackFlag) { - if (refToContinue?.options?.capture) cbEveryCtx(refToContinue?.ref) - for (const ite of this.flowClass.find(body)) { - if (!ite?.options?.capture) cbEveryCtx(ite?.ref) + const callAllCb = (_msgToList = []) => { + for (const ite of _msgToList) { + this.listCallbacks[ite?.ref] = cbEveryCtx( + ite?.ref, + messageCtxInComming, + fallBack, + flowDynamic + ) } } @@ -138,10 +145,7 @@ class CoreClass { msgToSend = this.flowClass.find(body, false, flowStandalone) || [] - for (const ite of msgToSend) { - cbEveryCtx(ite?.ref) - } - + callAllCb(msgToSend) this.sendFlow(msgToSend, from) return } @@ -153,12 +157,14 @@ class CoreClass { if (['string', 'boolean'].includes(typeCapture) && valueCapture) { msgToSend = this.flowClass.find(refToContinue?.ref, true) || [] + callAllCb(msgToSend) this.sendFlow(msgToSend, from) return } } msgToSend = this.flowClass.find(body) || [] + callAllCb(msgToSend) this.sendFlow(msgToSend, from) } @@ -169,10 +175,19 @@ class CoreClass { * @returns */ sendProviderAndSave = (numberOrId, ctxMessage) => { + const executeCb = (ref) => { + try { + return this.listCallbacks[ref]() + } catch (e) { + return Promise.resolve() + } + } + const { answer } = ctxMessage return Promise.all([ this.providerClass.sendMessage(numberOrId, answer, ctxMessage), this.databaseClass.save({ ...ctxMessage, from: numberOrId }), + executeCb(ctxMessage?.ref), ]) } From e8e14d3b6514dc080de86dd595e89d41cafbcc1a Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Fri, 6 Jan 2023 15:12:33 +0100 Subject: [PATCH 4/4] build: :zap: ready for video --- packages/bot/core/core.class.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index 9491219..2f76071 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -106,6 +106,7 @@ class CoreClass { from, keyword: null, index, + options: prevMsg?.options ?? {}, }) ) .slice(0, optListMsg.limit)