From b588479fd155e91a9af82d0d871aa68bbcf789b8 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 19:17:18 +0000 Subject: [PATCH 1/7] =?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 8017426cfcd7351965c1ce99284632590483b2be Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 19:18:41 +0000 Subject: [PATCH 2/7] 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 6382380..cf9f3e0 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.43-alpha.0", + "version": "0.0.44-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 71fec46..0279c4d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.50-alpha.0", + "version": "0.0.51-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index 2ef3d52..5dce363 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.61-alpha.0", + "version": "0.0.62-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 191750c..616b1c2 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.42-alpha.0", + "version": "0.0.43-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 84ae965..607e549 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.48-alpha.0", + "version": "0.0.49-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From 6ea377e9e55c62b9228ab8ee524f69f3069daf25 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Fri, 6 Jan 2023 21:20:08 +0100 Subject: [PATCH 3/7] build: :zap: working fallback, flowDynamic --- packages/bot/core/core.class.js | 44 +++++++++++---------------------- 1 file changed, 14 insertions(+), 30 deletions(-) diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index 2f76071..4243713 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -18,7 +18,6 @@ class CoreClass { flowClass databaseClass providerClass - listCallbacks = [] constructor(_flow, _database, _provider) { this.flowClass = _flow this.databaseClass = _database @@ -106,7 +105,6 @@ class CoreClass { from, keyword: null, index, - options: prevMsg?.options ?? {}, }) ) .slice(0, optListMsg.limit) @@ -116,24 +114,18 @@ class CoreClass { } // 📄 Se encarga de revisar si el contexto del mensaje tiene callback y ejecutarlo - const cbEveryCtx = - (inRef, _injectMessageCtx, _injectfallBack, _injectflowDynamic) => - () => { - this.flowClass.allCallbacks[inRef](_injectMessageCtx, { - fallBack: _injectfallBack, - flowDynamic: _injectflowDynamic, - }) - } + const cbEveryCtx = (inRef) => { + this.flowClass.allCallbacks[inRef](messageCtxInComming, { + fallBack, + flowDynamic, + }) + } // 📄 [options: callback]: Si se tiene un callback se ejecuta - const callAllCb = (_msgToList = []) => { - for (const ite of _msgToList) { - this.listCallbacks[ite?.ref] = cbEveryCtx( - ite?.ref, - messageCtxInComming, - fallBack, - flowDynamic - ) + if (!fallBackFlag) { + if (prevMsg?.options?.capture) cbEveryCtx(prevMsg?.ref) + for (const ite of this.flowClass.find(body)) { + if (!ite?.options?.capture) cbEveryCtx(ite?.ref) } } @@ -146,7 +138,10 @@ class CoreClass { msgToSend = this.flowClass.find(body, false, flowStandalone) || [] - callAllCb(msgToSend) + for (const ite of msgToSend) { + cbEveryCtx(ite?.ref) + } + this.sendFlow(msgToSend, from) return } @@ -158,14 +153,12 @@ 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) } @@ -176,19 +169,10 @@ 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 5d10cb9026da60043e9a2f86117ebb04d0631a3f Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Sat, 7 Jan 2023 14:34:17 +0100 Subject: [PATCH 4/7] fix(provider): :zap: fix send image baileys --- packages/provider/src/baileys/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js index 3b46135..9f89e13 100644 --- a/packages/provider/src/baileys/index.js +++ b/packages/provider/src/baileys/index.js @@ -4,7 +4,7 @@ const pino = require('pino') const rimraf = require('rimraf') const mime = require('mime-types') const { join } = require('path') -const { existsSync, createWriteStream } = require('fs') +const { existsSync, createWriteStream, readFileSync } = require('fs') const { Console } = require('console') const { @@ -167,8 +167,8 @@ class BaileysProvider extends ProviderClass { sendMedia = async (number, imageUrl, text) => { const fileDownloaded = await baileyDownloadMedia(imageUrl) return this.vendor.sendMessage(number, { - image: { url: fileDownloaded }, - text, + image: readFileSync(fileDownloaded), + caption: text, }) } From 391e11ce738cd64792b5237d69f3739b0263c198 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Sat, 7 Jan 2023 14:59:25 +0100 Subject: [PATCH 5/7] fix(provider): :zap: fix send image baileys --- packages/provider/src/baileys/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js index 9f89e13..e5c2276 100644 --- a/packages/provider/src/baileys/index.js +++ b/packages/provider/src/baileys/index.js @@ -238,6 +238,9 @@ class BaileysProvider extends ProviderClass { }, })) + + console.log(templateButtons) + return this.vendor.sendMessage(`${numberClean}@c.us`, { text, footer: '', From 2ddea5468d235035478d4e91e63c821da19da179 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Sat, 7 Jan 2023 14:59:48 +0100 Subject: [PATCH 6/7] fix(provider): :zap: fix send image baileys --- packages/provider/src/baileys/index.js | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js index e5c2276..7f25b80 100644 --- a/packages/provider/src/baileys/index.js +++ b/packages/provider/src/baileys/index.js @@ -137,7 +137,7 @@ class BaileysProvider extends ProviderClass { } const btnCtx = - payload?.message?.templateButtonReplyMessage + payload?.message?.buttonsResponseMessage ?.selectedDisplayText if (btnCtx) payload.body = btnCtx @@ -229,23 +229,22 @@ class BaileysProvider extends ProviderClass { */ sendButtons = async (number, text, buttons) => { - const numberClean = number.replace('+', '') + const numberClean = baileyCleanNumber(number) + const templateButtons = buttons.map((btn, i) => ({ - index: `${i}`, - quickReplyButton: { - displayText: btn.body, - id: `id-btn-${i}`, - }, + buttonId: `id-btn-${i}`, + buttonText: { displayText: btn.body }, + type: 1, })) - - console.log(templateButtons) - - return this.vendor.sendMessage(`${numberClean}@c.us`, { + const buttonMessage = { text, footer: '', - templateButtons: templateButtons, - }) + buttons: templateButtons, + headerType: 1, + } + + return this.vendor.sendMessage(numberClean, buttonMessage) } /** From 4ff02d2bfa238cafaa6165f06e8eba459f718447 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Sat, 7 Jan 2023 17:55:11 +0100 Subject: [PATCH 7/7] build: :zap: fix --- .../contexts/src/dialogflow/dialogflow.class.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/contexts/src/dialogflow/dialogflow.class.js b/packages/contexts/src/dialogflow/dialogflow.class.js index ffe50e7..ebd92bc 100644 --- a/packages/contexts/src/dialogflow/dialogflow.class.js +++ b/packages/contexts/src/dialogflow/dialogflow.class.js @@ -97,13 +97,21 @@ class DialogFlowContext extends CoreClass { }) customPayload = { - media: fields?.media?.stringValue, - buttons: mapButtons, + options: { + media: fields?.media?.stringValue, + buttons: mapButtons, + }, } + + const ctxFromDX = { + ...customPayload, + answer: fields?.answer?.stringValue, + } + this.sendFlow([ctxFromDX], from) + return } const ctxFromDX = { - ...customPayload, answer: queryResult?.fulfillmentText, }