From faa4ea01525fa45a0010ff86566953fde6cd4008 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Thu, 5 Jan 2023 00:44:27 +0000 Subject: [PATCH 01/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 8dad0a49b17339da24dd19a4279ae23dce8a73ff Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Thu, 5 Jan 2023 15:33:48 +0000 Subject: [PATCH 02/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 983db5c7b87ff41aba9d759bf1fadb1ca85543c8 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Fri, 6 Jan 2023 06:29:55 +0000 Subject: [PATCH 03/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From ec2041b75a5265b2c90258f4cd8ea99a113457cc Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Fri, 6 Jan 2023 06:46:09 +0000 Subject: [PATCH 04/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 2040f857a56d2d6eee6504b6bb602476831d0a44 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 11:44:19 +0000 Subject: [PATCH 05/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=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 06/22] 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 07/22] 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 08/22] 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) From 0451043a212c513bada629e6fa7ee902f9330796 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 15:05:32 +0000 Subject: [PATCH 09/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 930e120d70ef09d274b19484e5656949bf7c08af Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 15:09:04 +0000 Subject: [PATCH 10/22] 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 4a722ce..6382380 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.42-alpha.0", + "version": "0.0.43-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 5a0007c..71fec46 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.49-alpha.0", + "version": "0.0.50-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index ddfae8e..2ef3d52 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.60-alpha.0", + "version": "0.0.61-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 6d8e007..191750c 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.41-alpha.0", + "version": "0.0.42-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 d5c0ea2..84ae965 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.47-alpha.0", + "version": "0.0.48-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From b588479fd155e91a9af82d0d871aa68bbcf789b8 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Fri, 6 Jan 2023 19:17:18 +0000 Subject: [PATCH 11/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=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 12/22] 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 13/22] 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 14/22] 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 15/22] 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 16/22] 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 17/22] 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, } From 4f2fbaf21b09c1f39df11e6f372d8e018e4af9c2 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Sat, 7 Jan 2023 16:57:18 +0000 Subject: [PATCH 18/22] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated?= =?UTF-8?q?=20versions=20stable=20providers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From 2ad57a8be1adab01a3308e37b26f812b42684fef Mon Sep 17 00:00:00 2001 From: leifermendez Date: Sat, 7 Jan 2023 16:57:52 +0000 Subject: [PATCH 19/22] 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 cf9f3e0..77cb142 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.44-alpha.0", + "version": "0.0.45-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 0279c4d..04118d7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.51-alpha.0", + "version": "0.0.52-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index 5dce363..bb19123 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.62-alpha.0", + "version": "0.0.63-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 616b1c2..cdab548 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.43-alpha.0", + "version": "0.0.44-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 607e549..4c53f47 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.49-alpha.0", + "version": "0.0.50-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From f9e3bbc6655060408e4fdbe1d7e920c2ed4fca53 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Sun, 8 Jan 2023 04:57:27 -0600 Subject: [PATCH 20/22] feat: agregamos dockerfile y webserver a starters agregamos dockerfile y webserver a starters --- .gitignore | 4 +++ starters/apps/base-baileys-json/Dockerfile | 7 +++++ starters/apps/base-baileys-json/app.js | 2 ++ .../apps/base-baileys-json/public/index.html | 12 ++++++++ .../apps/base-baileys-json/server.http.js | 30 +++++++++++++++++++ starters/apps/base-baileys-memory/Dockerfile | 7 +++++ starters/apps/base-baileys-memory/app.js | 2 ++ .../base-baileys-memory/public/index.html | 12 ++++++++ .../apps/base-baileys-memory/server.http.js | 30 +++++++++++++++++++ starters/apps/base-baileys-mongo/Dockerfile | 7 +++++ starters/apps/base-baileys-mongo/app.js | 2 ++ .../apps/base-baileys-mongo/public/index.html | 12 ++++++++ .../apps/base-baileys-mongo/server.http.js | 30 +++++++++++++++++++ starters/apps/base-baileys-mysql/Dockerfile | 7 +++++ starters/apps/base-baileys-mysql/app.js | 2 ++ .../apps/base-baileys-mysql/public/index.html | 12 ++++++++ .../apps/base-baileys-mysql/server.http.js | 30 +++++++++++++++++++ starters/apps/base-venom-json/Dockerfile | 7 +++++ starters/apps/base-venom-json/app.js | 2 ++ .../apps/base-venom-json/public/index.html | 12 ++++++++ starters/apps/base-venom-json/server.http.js | 30 +++++++++++++++++++ starters/apps/base-venom-memory/Dockerfile | 7 +++++ starters/apps/base-venom-memory/app.js | 2 ++ .../apps/base-venom-memory/public/index.html | 12 ++++++++ .../apps/base-venom-memory/server.http.js | 30 +++++++++++++++++++ starters/apps/base-venom-mongo/Dockerfile | 7 +++++ starters/apps/base-venom-mongo/app.js | 2 ++ .../apps/base-venom-mongo/public/index.html | 12 ++++++++ starters/apps/base-venom-mongo/server.http.js | 30 +++++++++++++++++++ starters/apps/base-venom-mysql/Dockerfile | 7 +++++ starters/apps/base-venom-mysql/app.js | 2 ++ .../apps/base-venom-mysql/public/index.html | 12 ++++++++ starters/apps/base-venom-mysql/server.http.js | 30 +++++++++++++++++++ starters/apps/base-wweb-json/Dockerfile | 7 +++++ starters/apps/base-wweb-json/app.js | 2 ++ .../apps/base-wweb-json/public/index.html | 12 ++++++++ starters/apps/base-wweb-json/server.http.js | 30 +++++++++++++++++++ starters/apps/base-wweb-memory/Dockerfile | 7 +++++ starters/apps/base-wweb-memory/app.js | 2 ++ .../apps/base-wweb-memory/public/index.html | 12 ++++++++ starters/apps/base-wweb-memory/server.http.js | 30 +++++++++++++++++++ starters/apps/base-wweb-mongo/Dockerfile | 7 +++++ starters/apps/base-wweb-mongo/app.js | 2 ++ .../apps/base-wweb-mongo/public/index.html | 12 ++++++++ starters/apps/base-wweb-mongo/server.http.js | 30 +++++++++++++++++++ starters/apps/base-wweb-mysql/Dockerfile | 7 +++++ starters/apps/base-wweb-mysql/app.js | 2 ++ .../apps/base-wweb-mysql/public/index.html | 12 ++++++++ starters/apps/base-wweb-mysql/server.http.js | 30 +++++++++++++++++++ 49 files changed, 616 insertions(+) create mode 100644 starters/apps/base-baileys-json/Dockerfile create mode 100644 starters/apps/base-baileys-json/public/index.html create mode 100644 starters/apps/base-baileys-json/server.http.js create mode 100644 starters/apps/base-baileys-memory/Dockerfile create mode 100644 starters/apps/base-baileys-memory/public/index.html create mode 100644 starters/apps/base-baileys-memory/server.http.js create mode 100644 starters/apps/base-baileys-mongo/Dockerfile create mode 100644 starters/apps/base-baileys-mongo/public/index.html create mode 100644 starters/apps/base-baileys-mongo/server.http.js create mode 100644 starters/apps/base-baileys-mysql/Dockerfile create mode 100644 starters/apps/base-baileys-mysql/public/index.html create mode 100644 starters/apps/base-baileys-mysql/server.http.js create mode 100644 starters/apps/base-venom-json/Dockerfile create mode 100644 starters/apps/base-venom-json/public/index.html create mode 100644 starters/apps/base-venom-json/server.http.js create mode 100644 starters/apps/base-venom-memory/Dockerfile create mode 100644 starters/apps/base-venom-memory/public/index.html create mode 100644 starters/apps/base-venom-memory/server.http.js create mode 100644 starters/apps/base-venom-mongo/Dockerfile create mode 100644 starters/apps/base-venom-mongo/public/index.html create mode 100644 starters/apps/base-venom-mongo/server.http.js create mode 100644 starters/apps/base-venom-mysql/Dockerfile create mode 100644 starters/apps/base-venom-mysql/public/index.html create mode 100644 starters/apps/base-venom-mysql/server.http.js create mode 100644 starters/apps/base-wweb-json/Dockerfile create mode 100644 starters/apps/base-wweb-json/public/index.html create mode 100644 starters/apps/base-wweb-json/server.http.js create mode 100644 starters/apps/base-wweb-memory/Dockerfile create mode 100644 starters/apps/base-wweb-memory/public/index.html create mode 100644 starters/apps/base-wweb-memory/server.http.js create mode 100644 starters/apps/base-wweb-mongo/Dockerfile create mode 100644 starters/apps/base-wweb-mongo/public/index.html create mode 100644 starters/apps/base-wweb-mongo/server.http.js create mode 100644 starters/apps/base-wweb-mysql/Dockerfile create mode 100644 starters/apps/base-wweb-mysql/public/index.html create mode 100644 starters/apps/base-wweb-mysql/server.http.js diff --git a/.gitignore b/.gitignore index 2a3fcb7..721d12c 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,10 @@ mediaSend/* !mediaSend/nota-de-voz.mp3 .env .wwebjs_auth +/session +/session/* +/tokens +/tokens/* packages/cli/config.json config.json .yarnrc.yml diff --git a/starters/apps/base-baileys-json/Dockerfile b/starters/apps/base-baileys-json/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-baileys-json/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-json/app.js b/starters/apps/base-baileys-json/app.js index 267d860..99ecf65 100644 --- a/starters/apps/base-baileys-json/app.js +++ b/starters/apps/base-baileys-json/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const BaileysProvider = require('@bot-whatsapp/provider/baileys') const JsonFileAdapter = require('@bot-whatsapp/database/json') diff --git a/starters/apps/base-baileys-json/public/index.html b/starters/apps/base-baileys-json/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-baileys-json/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-baileys-json/server.http.js b/starters/apps/base-baileys-json/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-baileys-json/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-memory/Dockerfile b/starters/apps/base-baileys-memory/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-baileys-memory/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-memory/app.js b/starters/apps/base-baileys-memory/app.js index 3b967a8..522bb6c 100644 --- a/starters/apps/base-baileys-memory/app.js +++ b/starters/apps/base-baileys-memory/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MockAdapter = require('@bot-whatsapp/database/mock') diff --git a/starters/apps/base-baileys-memory/public/index.html b/starters/apps/base-baileys-memory/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-baileys-memory/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-baileys-memory/server.http.js b/starters/apps/base-baileys-memory/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-baileys-memory/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-mongo/Dockerfile b/starters/apps/base-baileys-mongo/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-baileys-mongo/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-mongo/app.js b/starters/apps/base-baileys-mongo/app.js index 96f04b0..277115d 100644 --- a/starters/apps/base-baileys-mongo/app.js +++ b/starters/apps/base-baileys-mongo/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MongoAdapter = require('@bot-whatsapp/database/mongo') diff --git a/starters/apps/base-baileys-mongo/public/index.html b/starters/apps/base-baileys-mongo/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-baileys-mongo/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-baileys-mongo/server.http.js b/starters/apps/base-baileys-mongo/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-baileys-mongo/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-mysql/Dockerfile b/starters/apps/base-baileys-mysql/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-baileys-mysql/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-mysql/app.js b/starters/apps/base-baileys-mysql/app.js index 6982000..02a13c0 100644 --- a/starters/apps/base-baileys-mysql/app.js +++ b/starters/apps/base-baileys-mysql/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MySQLAdapter = require('@bot-whatsapp/database/mysql') diff --git a/starters/apps/base-baileys-mysql/public/index.html b/starters/apps/base-baileys-mysql/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-baileys-mysql/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-baileys-mysql/server.http.js b/starters/apps/base-baileys-mysql/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-baileys-mysql/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-json/Dockerfile b/starters/apps/base-venom-json/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-venom-json/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-venom-json/app.js b/starters/apps/base-venom-json/app.js index 8a223b2..c742f78 100644 --- a/starters/apps/base-venom-json/app.js +++ b/starters/apps/base-venom-json/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const VenomProvider = require('@bot-whatsapp/provider/venom') const JsonFileAdapter = require('@bot-whatsapp/database/json') diff --git a/starters/apps/base-venom-json/public/index.html b/starters/apps/base-venom-json/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-venom-json/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-venom-json/server.http.js b/starters/apps/base-venom-json/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-venom-json/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-memory/Dockerfile b/starters/apps/base-venom-memory/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-venom-memory/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-venom-memory/app.js b/starters/apps/base-venom-memory/app.js index 44750c4..6f89ef2 100644 --- a/starters/apps/base-venom-memory/app.js +++ b/starters/apps/base-venom-memory/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const VenomProvider = require('@bot-whatsapp/provider/venom') const MockAdapter = require('@bot-whatsapp/database/mock') diff --git a/starters/apps/base-venom-memory/public/index.html b/starters/apps/base-venom-memory/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-venom-memory/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-venom-memory/server.http.js b/starters/apps/base-venom-memory/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-venom-memory/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-mongo/Dockerfile b/starters/apps/base-venom-mongo/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-venom-mongo/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-venom-mongo/app.js b/starters/apps/base-venom-mongo/app.js index 266e2e0..d8de982 100644 --- a/starters/apps/base-venom-mongo/app.js +++ b/starters/apps/base-venom-mongo/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const VenomProvider = require('@bot-whatsapp/provider/venom') const MongoAdapter = require('@bot-whatsapp/database/mongo') diff --git a/starters/apps/base-venom-mongo/public/index.html b/starters/apps/base-venom-mongo/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-venom-mongo/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-venom-mongo/server.http.js b/starters/apps/base-venom-mongo/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-venom-mongo/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-mysql/Dockerfile b/starters/apps/base-venom-mysql/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-venom-mysql/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-venom-mysql/app.js b/starters/apps/base-venom-mysql/app.js index fe19fa5..24da8ee 100644 --- a/starters/apps/base-venom-mysql/app.js +++ b/starters/apps/base-venom-mysql/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const VenomProvider = require('@bot-whatsapp/provider/venom') const MySQLAdapter = require('@bot-whatsapp/database/mysql') diff --git a/starters/apps/base-venom-mysql/public/index.html b/starters/apps/base-venom-mysql/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-venom-mysql/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-venom-mysql/server.http.js b/starters/apps/base-venom-mysql/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-venom-mysql/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-json/Dockerfile b/starters/apps/base-wweb-json/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-wweb-json/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-json/app.js b/starters/apps/base-wweb-json/app.js index 2b8a55d..31f03dd 100644 --- a/starters/apps/base-wweb-json/app.js +++ b/starters/apps/base-wweb-json/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const JsonFileAdapter = require('@bot-whatsapp/database/json') diff --git a/starters/apps/base-wweb-json/public/index.html b/starters/apps/base-wweb-json/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-wweb-json/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-wweb-json/server.http.js b/starters/apps/base-wweb-json/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-wweb-json/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-memory/Dockerfile b/starters/apps/base-wweb-memory/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-wweb-memory/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-memory/app.js b/starters/apps/base-wweb-memory/app.js index 1e47221..5318283 100644 --- a/starters/apps/base-wweb-memory/app.js +++ b/starters/apps/base-wweb-memory/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') diff --git a/starters/apps/base-wweb-memory/public/index.html b/starters/apps/base-wweb-memory/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-wweb-memory/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-wweb-memory/server.http.js b/starters/apps/base-wweb-memory/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-wweb-memory/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-mongo/Dockerfile b/starters/apps/base-wweb-mongo/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-wweb-mongo/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-mongo/app.js b/starters/apps/base-wweb-mongo/app.js index e78f1b1..34f3887 100644 --- a/starters/apps/base-wweb-mongo/app.js +++ b/starters/apps/base-wweb-mongo/app.js @@ -8,6 +8,8 @@ const { const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MongoAdapter = require('@bot-whatsapp/database/mongo') +require('./server.http') + /** * Declaramos las conexiones de Mongo */ diff --git a/starters/apps/base-wweb-mongo/public/index.html b/starters/apps/base-wweb-mongo/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-wweb-mongo/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-wweb-mongo/server.http.js b/starters/apps/base-wweb-mongo/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-wweb-mongo/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-mysql/Dockerfile b/starters/apps/base-wweb-mysql/Dockerfile new file mode 100644 index 0000000..14b07b2 --- /dev/null +++ b/starters/apps/base-wweb-mysql/Dockerfile @@ -0,0 +1,7 @@ +FROM node:lts-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-mysql/app.js b/starters/apps/base-wweb-mysql/app.js index 2d92136..2095842 100644 --- a/starters/apps/base-wweb-mysql/app.js +++ b/starters/apps/base-wweb-mysql/app.js @@ -5,6 +5,8 @@ const { addKeyword, } = require('@bot-whatsapp/bot') +require('./server.http') + const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MySQLAdapter = require('@bot-whatsapp/database/mysql') diff --git a/starters/apps/base-wweb-mysql/public/index.html b/starters/apps/base-wweb-mysql/public/index.html new file mode 100644 index 0000000..d193fae --- /dev/null +++ b/starters/apps/base-wweb-mysql/public/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + diff --git a/starters/apps/base-wweb-mysql/server.http.js b/starters/apps/base-wweb-mysql/server.http.js new file mode 100644 index 0000000..439f191 --- /dev/null +++ b/starters/apps/base-wweb-mysql/server.http.js @@ -0,0 +1,30 @@ +var http = require('http') +var fs = require('fs') +var path = require('path') + +const PORT = process.env.PORT || 3000 + +/** + * Levantar un HTTP Server + */ +http.createServer(function (req, res) { + if (req.url === '/') { + fs.readFile('./public/index.html', 'UTF-8', function (err, html) { + res.writeHead(200, { 'Content-Type': 'text/html' }) + res.end(html) + }) + } else if (req.url.match('.css$')) { + var cssPath = path.join(__dirname, 'public', req.url) + var fileStream = fs.createReadStream(cssPath, 'UTF-8') + res.writeHead(200, { 'Content-Type': 'text/css' }) + fileStream.pipe(res) + } else if (req.url.match('.png$')) { + var imagePath = path.join(__dirname, req.url) + var fileStream = fs.createReadStream(imagePath) + res.writeHead(200, { 'Content-Type': 'image/png' }) + fileStream.pipe(res) + } else { + res.writeHead(404, { 'Content-Type': 'text/html' }) + res.end('No Page Found') + } +}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) From 5a033da83aee1f614120bccf27c9f330500cc7b0 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Sun, 8 Jan 2023 15:54:32 +0100 Subject: [PATCH 21/22] fix(provider): fix error docker as root user --- packages/provider/src/web-whatsapp/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/provider/src/web-whatsapp/index.js b/packages/provider/src/web-whatsapp/index.js index ef9427f..5c35a6c 100644 --- a/packages/provider/src/web-whatsapp/index.js +++ b/packages/provider/src/web-whatsapp/index.js @@ -24,6 +24,7 @@ class WebWhatsappProvider extends ProviderClass { super() this.vendor = new Client({ authStrategy: new LocalAuth(), + puppeteer: { headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox', '--unhandled-rejections=strict'] } }) const listEvents = this.busEvents() From 4e0d33c6bb46ad259774f6d0c38c6c0b5f8ca4a9 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Sun, 8 Jan 2023 16:47:28 +0100 Subject: [PATCH 22/22] fix: :zap: add Dockerfile, starter --- .../apps/base-baileys-json/public/index.html | 74 ++++++++++++++++++- .../apps/base-baileys-json/server.http.js | 20 +++-- .../base-baileys-memory/public/index.html | 74 ++++++++++++++++++- .../apps/base-baileys-memory/server.http.js | 20 +++-- .../apps/base-baileys-mongo/public/index.html | 74 ++++++++++++++++++- .../apps/base-baileys-mongo/server.http.js | 20 +++-- .../apps/base-baileys-mysql/public/index.html | 74 ++++++++++++++++++- .../apps/base-baileys-mysql/server.http.js | 20 +++-- starters/apps/base-venom-json/Dockerfile | 25 ++++++- .../apps/base-venom-json/public/index.html | 74 ++++++++++++++++++- starters/apps/base-venom-json/server.http.js | 20 +++-- starters/apps/base-venom-memory/Dockerfile | 25 ++++++- .../apps/base-venom-memory/public/index.html | 74 ++++++++++++++++++- .../apps/base-venom-memory/server.http.js | 20 +++-- starters/apps/base-venom-mongo/Dockerfile | 25 ++++++- .../apps/base-venom-mongo/public/index.html | 74 ++++++++++++++++++- starters/apps/base-venom-mongo/server.http.js | 20 +++-- starters/apps/base-venom-mysql/Dockerfile | 25 ++++++- .../apps/base-venom-mysql/public/index.html | 74 ++++++++++++++++++- starters/apps/base-venom-mysql/server.http.js | 20 +++-- starters/apps/base-wweb-json/Dockerfile | 25 ++++++- .../apps/base-wweb-json/public/index.html | 74 ++++++++++++++++++- starters/apps/base-wweb-json/server.http.js | 20 +++-- starters/apps/base-wweb-memory/Dockerfile | 25 ++++++- .../apps/base-wweb-memory/public/index.html | 74 ++++++++++++++++++- starters/apps/base-wweb-memory/server.http.js | 20 +++-- starters/apps/base-wweb-mongo/Dockerfile | 25 ++++++- .../apps/base-wweb-mongo/public/index.html | 74 ++++++++++++++++++- starters/apps/base-wweb-mongo/server.http.js | 20 +++-- starters/apps/base-wweb-mysql/Dockerfile | 25 ++++++- .../apps/base-wweb-mysql/public/index.html | 74 ++++++++++++++++++- starters/apps/base-wweb-mysql/server.http.js | 20 +++-- 32 files changed, 1164 insertions(+), 164 deletions(-) diff --git a/starters/apps/base-baileys-json/public/index.html b/starters/apps/base-baileys-json/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-baileys-json/public/index.html +++ b/starters/apps/base-baileys-json/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-baileys-json/server.http.js b/starters/apps/base-baileys-json/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-baileys-json/server.http.js +++ b/starters/apps/base-baileys-json/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-memory/public/index.html b/starters/apps/base-baileys-memory/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-baileys-memory/public/index.html +++ b/starters/apps/base-baileys-memory/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-baileys-memory/server.http.js b/starters/apps/base-baileys-memory/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-baileys-memory/server.http.js +++ b/starters/apps/base-baileys-memory/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-mongo/public/index.html b/starters/apps/base-baileys-mongo/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-baileys-mongo/public/index.html +++ b/starters/apps/base-baileys-mongo/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-baileys-mongo/server.http.js b/starters/apps/base-baileys-mongo/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-baileys-mongo/server.http.js +++ b/starters/apps/base-baileys-mongo/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-mysql/public/index.html b/starters/apps/base-baileys-mysql/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-baileys-mysql/public/index.html +++ b/starters/apps/base-baileys-mysql/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-baileys-mysql/server.http.js b/starters/apps/base-baileys-mysql/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-baileys-mysql/server.http.js +++ b/starters/apps/base-baileys-mysql/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-json/Dockerfile b/starters/apps/base-venom-json/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-venom-json/Dockerfile +++ b/starters/apps/base-venom-json/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-venom-json/public/index.html b/starters/apps/base-venom-json/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-venom-json/public/index.html +++ b/starters/apps/base-venom-json/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-venom-json/server.http.js b/starters/apps/base-venom-json/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-venom-json/server.http.js +++ b/starters/apps/base-venom-json/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-memory/Dockerfile b/starters/apps/base-venom-memory/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-venom-memory/Dockerfile +++ b/starters/apps/base-venom-memory/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-venom-memory/public/index.html b/starters/apps/base-venom-memory/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-venom-memory/public/index.html +++ b/starters/apps/base-venom-memory/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-venom-memory/server.http.js b/starters/apps/base-venom-memory/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-venom-memory/server.http.js +++ b/starters/apps/base-venom-memory/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-mongo/Dockerfile b/starters/apps/base-venom-mongo/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-venom-mongo/Dockerfile +++ b/starters/apps/base-venom-mongo/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-venom-mongo/public/index.html b/starters/apps/base-venom-mongo/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-venom-mongo/public/index.html +++ b/starters/apps/base-venom-mongo/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-venom-mongo/server.http.js b/starters/apps/base-venom-mongo/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-venom-mongo/server.http.js +++ b/starters/apps/base-venom-mongo/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-mysql/Dockerfile b/starters/apps/base-venom-mysql/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-venom-mysql/Dockerfile +++ b/starters/apps/base-venom-mysql/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-venom-mysql/public/index.html b/starters/apps/base-venom-mysql/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-venom-mysql/public/index.html +++ b/starters/apps/base-venom-mysql/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-venom-mysql/server.http.js b/starters/apps/base-venom-mysql/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-venom-mysql/server.http.js +++ b/starters/apps/base-venom-mysql/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-json/Dockerfile b/starters/apps/base-wweb-json/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-wweb-json/Dockerfile +++ b/starters/apps/base-wweb-json/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-json/public/index.html b/starters/apps/base-wweb-json/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-wweb-json/public/index.html +++ b/starters/apps/base-wweb-json/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-wweb-json/server.http.js b/starters/apps/base-wweb-json/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-wweb-json/server.http.js +++ b/starters/apps/base-wweb-json/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-memory/Dockerfile b/starters/apps/base-wweb-memory/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-wweb-memory/Dockerfile +++ b/starters/apps/base-wweb-memory/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-memory/public/index.html b/starters/apps/base-wweb-memory/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-wweb-memory/public/index.html +++ b/starters/apps/base-wweb-memory/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-wweb-memory/server.http.js b/starters/apps/base-wweb-memory/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-wweb-memory/server.http.js +++ b/starters/apps/base-wweb-memory/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-mongo/Dockerfile b/starters/apps/base-wweb-mongo/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-wweb-mongo/Dockerfile +++ b/starters/apps/base-wweb-mongo/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-mongo/public/index.html b/starters/apps/base-wweb-mongo/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-wweb-mongo/public/index.html +++ b/starters/apps/base-wweb-mongo/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-wweb-mongo/server.http.js b/starters/apps/base-wweb-mongo/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-wweb-mongo/server.http.js +++ b/starters/apps/base-wweb-mongo/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-mysql/Dockerfile b/starters/apps/base-wweb-mysql/Dockerfile index 14b07b2..3a9aa17 100644 --- a/starters/apps/base-wweb-mysql/Dockerfile +++ b/starters/apps/base-wweb-mysql/Dockerfile @@ -1,7 +1,24 @@ -FROM node:lts-bullseye as bot +FROM node:18-alpine as node + WORKDIR /app -COPY package*.json ./ -RUN npm i +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + nodejs \ + yarn + +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + +# Puppeteer v10.0.0 works with Chromium 92. COPY . . -ARG PORT +RUN npm install puppeteer@10.0.0 +RUN npm install + CMD ["npm", "start"] diff --git a/starters/apps/base-wweb-mysql/public/index.html b/starters/apps/base-wweb-mysql/public/index.html index d193fae..202b50c 100644 --- a/starters/apps/base-wweb-mysql/public/index.html +++ b/starters/apps/base-wweb-mysql/public/index.html @@ -1,12 +1,80 @@ - + - Document + + + 🤖 Crear chatbot WhatsApp en minutos + - +
+ Escanear QR +
+

Whatsapp QR

+

+ F5 para actualizar, el codigo se actualiza cada minuto.
+ Con esta libreria, puedes configurar respuestas + automatizadas para preguntas frecuentes , recibir y + responder mensajes de manera automatizada, y hacer un + seguimiento de las interacciones con los clientes. Además, + nuestro Chatbot se integra fácilmente con otros sistemas y + herramientas que ya esté utilizando en su negocio. +

+ +
+
diff --git a/starters/apps/base-wweb-mysql/server.http.js b/starters/apps/base-wweb-mysql/server.http.js index 439f191..217bd71 100644 --- a/starters/apps/base-wweb-mysql/server.http.js +++ b/starters/apps/base-wweb-mysql/server.http.js @@ -1,6 +1,6 @@ -var http = require('http') -var fs = require('fs') -var path = require('path') +const http = require('http') +const fs = require('fs') +const path = require('path') const PORT = process.env.PORT || 3000 @@ -8,23 +8,27 @@ const PORT = process.env.PORT || 3000 * Levantar un HTTP Server */ http.createServer(function (req, res) { + var cssPath = undefined + var fileStream = undefined + var imagePath = undefined + if (req.url === '/') { fs.readFile('./public/index.html', 'UTF-8', function (err, html) { res.writeHead(200, { 'Content-Type': 'text/html' }) res.end(html) }) } else if (req.url.match('.css$')) { - var cssPath = path.join(__dirname, 'public', req.url) - var fileStream = fs.createReadStream(cssPath, 'UTF-8') + cssPath = path.join(__dirname, 'public', req.url) + fileStream = fs.createReadStream(cssPath, 'UTF-8') res.writeHead(200, { 'Content-Type': 'text/css' }) fileStream.pipe(res) } else if (req.url.match('.png$')) { - var imagePath = path.join(__dirname, req.url) - var fileStream = fs.createReadStream(imagePath) + imagePath = path.join(__dirname, req.url) + fileStream = fs.createReadStream(imagePath) res.writeHead(200, { 'Content-Type': 'image/png' }) fileStream.pipe(res) } else { res.writeHead(404, { 'Content-Type': 'text/html' }) res.end('No Page Found') } -}).listen(PORT, () => console.log(`Ready HTTP http://localhost:${PORT}`)) +}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))