From eafd27c25a5f64cda1952daad75e71c03113603a Mon Sep 17 00:00:00 2001 From: leifermendez Date: Tue, 10 Jan 2023 18:17:47 +0000 Subject: [PATCH 01/47] 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/portal/package.json | 2 +- packages/provider/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/bot/package.json b/packages/bot/package.json index 9528958..c549214 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.52-alpha.0", + "version": "0.0.53-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index fb918ee..391098e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.59-alpha.0", + "version": "0.0.60-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index 26fac41..f9ffe1c 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.70-alpha.0", + "version": "0.0.71-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 37349ba..6c53960 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.51-alpha.0", + "version": "0.0.52-alpha.0", "description": "Esto es el conector a mysql, pg, mongo", "main": "./lib/mock/index.cjs", "keywords": [], diff --git a/packages/portal/package.json b/packages/portal/package.json index f32cf85..ce7784d 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/portal", - "version": "0.0.9-alpha.0", + "version": "0.0.10-alpha.0", "description": "Portal WEB para escanear QR", "main": "./lib/portal.http.cjs", "scripts": { diff --git a/packages/provider/package.json b/packages/provider/package.json index ffd19f5..007f079 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.57-alpha.0", + "version": "0.0.58-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From ecde23fdea65def209aa874af35a3f293e6b1a91 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Tue, 10 Jan 2023 22:46:08 +0100 Subject: [PATCH 02/47] fix: :fire: update qr package --- .github/workflows/netlify.yml | 1 - .github/workflows/releases.yml | 5 +- starters/apps/base-baileys-json/Dockerfile | 4 +- starters/apps/base-baileys-json/README.md | 20 +--- starters/apps/base-baileys-json/app.js | 96 +++++++------------ starters/apps/base-baileys-json/package.json | 3 +- .../apps/base-baileys-json/public/index.html | 80 ---------------- .../apps/base-baileys-json/server.http.js | 34 ------- starters/apps/base-baileys-memory/Dockerfile | 4 +- starters/apps/base-baileys-memory/README.md | 20 +--- starters/apps/base-baileys-memory/app.js | 96 +++++++------------ .../apps/base-baileys-memory/package.json | 3 +- .../base-baileys-memory/public/index.html | 80 ---------------- .../apps/base-baileys-memory/server.http.js | 34 ------- starters/apps/base-baileys-mongo/package.json | 2 +- .../apps/base-baileys-mongo/public/index.html | 80 ---------------- .../apps/base-baileys-mongo/server.http.js | 34 ------- starters/apps/base-baileys-mysql/package.json | 2 +- starters/apps/base-meta-json/package.json | 2 +- starters/apps/base-meta-memory/package.json | 2 +- starters/apps/base-meta-mongo/package.json | 2 +- starters/apps/base-meta-mysql/package.json | 2 +- starters/apps/base-twilio-json/package.json | 2 +- starters/apps/base-twilio-memory/package.json | 2 +- starters/apps/base-twilio-mongo/package.json | 2 +- starters/apps/base-twilio-mysql/package.json | 2 +- starters/apps/base-venom-json/package.json | 2 +- starters/apps/base-venom-memory/package.json | 2 +- starters/apps/base-venom-mongo/package.json | 2 +- starters/apps/base-venom-mysql/package.json | 2 +- starters/apps/base-wweb-json/package.json | 2 +- starters/apps/base-wweb-memory/package.json | 2 +- starters/apps/base-wweb-mongo/package.json | 2 +- starters/apps/base-wweb-mysql/package.json | 2 +- 34 files changed, 105 insertions(+), 525 deletions(-) delete mode 100644 starters/apps/base-baileys-json/public/index.html delete mode 100644 starters/apps/base-baileys-json/server.http.js delete mode 100644 starters/apps/base-baileys-memory/public/index.html delete mode 100644 starters/apps/base-baileys-memory/server.http.js delete mode 100644 starters/apps/base-baileys-mongo/public/index.html delete mode 100644 starters/apps/base-baileys-mongo/server.http.js diff --git a/.github/workflows/netlify.yml b/.github/workflows/netlify.yml index bdb51ab..76d5383 100644 --- a/.github/workflows/netlify.yml +++ b/.github/workflows/netlify.yml @@ -3,7 +3,6 @@ name: 📄 (PROD) Desplegando documentacion on: push: branches: - - main - next-release jobs: diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index d692ee3..df211d4 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -1,8 +1,9 @@ name: 🚀⚡ Liberando versiones on: - release: - types: [created] + push: + branches: + - production-release jobs: ############ RELEASE ############ release: diff --git a/starters/apps/base-baileys-json/Dockerfile b/starters/apps/base-baileys-json/Dockerfile index 14b07b2..7fb6d5d 100644 --- a/starters/apps/base-baileys-json/Dockerfile +++ b/starters/apps/base-baileys-json/Dockerfile @@ -1,7 +1,9 @@ -FROM node:lts-bullseye as bot +FROM node:18-bullseye as bot WORKDIR /app COPY package*.json ./ RUN npm i COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL ARG PORT CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-json/README.md b/starters/apps/base-baileys-json/README.md index a31dc9f..13d73f2 100644 --- a/starters/apps/base-baileys-json/README.md +++ b/starters/apps/base-baileys-json/README.md @@ -5,26 +5,8 @@

-**Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** 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, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver más informacion](https://bot-whatsapp.netlify.app/)** +**Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** 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, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver documentación](https://bot-whatsapp.netlify.app/)** -```js -const main = async () => { - const adapterDB = new MockAdapter() - const adapterFlow = createFlow([flowPrincipal]) - - const adapterProvider = createProvider(BaileysProvider, { - accountSid: process.env.ACC_SID, - authToken: process.env.ACC_TOKEN, - vendorNumber: process.env.ACC_VENDOR, - }) - - createBot({ - flow: adapterFlow, - provider: adapterProvider, - database: adapterDB, - }) -} -``` ``` npm install diff --git a/starters/apps/base-baileys-json/app.js b/starters/apps/base-baileys-json/app.js index 99ecf65..67d4be6 100644 --- a/starters/apps/base-baileys-json/app.js +++ b/starters/apps/base-baileys-json/app.js @@ -5,86 +5,62 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortalWeb = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const JsonFileAdapter = require('@bot-whatsapp/database/json') -/** - * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo: - * - * Menu Principal - * - SubMenu 1 - * - Submenu 1.1 - * - Submenu 2 - * - Submenu 2.1 - * - * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. - */ +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer([ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', +]) -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer([ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer([ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', +]) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) - -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) - -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer([ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', +]) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { const adapterDB = new JsonFileAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(BaileysProvider) + createBot({ flow: adapterFlow, provider: adapterProvider, database: adapterDB, }) + + QRPortalWeb() } main() diff --git a/starters/apps/base-baileys-json/package.json b/starters/apps/base-baileys-json/package.json index 7693630..1ecbe56 100644 --- a/starters/apps/base-baileys-json/package.json +++ b/starters/apps/base-baileys-json/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-bailey-json", + "name": "base-bailey-json", "version": "1.0.0", "description": "", "main": "app.js", @@ -13,6 +13,7 @@ "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", "@bot-whatsapp/provider": "latest", + "@bot-whatsapp/portal": "latest", "@adiwajshing/baileys": "4.4.0", "mime-types": "2.1.35", "wa-sticker-formatter": "4.3.2" diff --git a/starters/apps/base-baileys-json/public/index.html b/starters/apps/base-baileys-json/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-baileys-json/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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. -

-
- Ver documentación -
-
-
- - diff --git a/starters/apps/base-baileys-json/server.http.js b/starters/apps/base-baileys-json/server.http.js deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-baileys-json/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-memory/Dockerfile b/starters/apps/base-baileys-memory/Dockerfile index 14b07b2..7fb6d5d 100644 --- a/starters/apps/base-baileys-memory/Dockerfile +++ b/starters/apps/base-baileys-memory/Dockerfile @@ -1,7 +1,9 @@ -FROM node:lts-bullseye as bot +FROM node:18-bullseye as bot WORKDIR /app COPY package*.json ./ RUN npm i COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL ARG PORT CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-memory/README.md b/starters/apps/base-baileys-memory/README.md index a31dc9f..13d73f2 100644 --- a/starters/apps/base-baileys-memory/README.md +++ b/starters/apps/base-baileys-memory/README.md @@ -5,26 +5,8 @@

-**Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** 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, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver más informacion](https://bot-whatsapp.netlify.app/)** +**Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** 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, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver documentación](https://bot-whatsapp.netlify.app/)** -```js -const main = async () => { - const adapterDB = new MockAdapter() - const adapterFlow = createFlow([flowPrincipal]) - - const adapterProvider = createProvider(BaileysProvider, { - accountSid: process.env.ACC_SID, - authToken: process.env.ACC_TOKEN, - vendorNumber: process.env.ACC_VENDOR, - }) - - createBot({ - flow: adapterFlow, - provider: adapterProvider, - database: adapterDB, - }) -} -``` ``` npm install diff --git a/starters/apps/base-baileys-memory/app.js b/starters/apps/base-baileys-memory/app.js index 522bb6c..a8fbd00 100644 --- a/starters/apps/base-baileys-memory/app.js +++ b/starters/apps/base-baileys-memory/app.js @@ -5,86 +5,62 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortalWeb = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MockAdapter = require('@bot-whatsapp/database/mock') -/** - * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo: - * - * Menu Principal - * - SubMenu 1 - * - Submenu 1.1 - * - Submenu 2 - * - Submenu 2.1 - * - * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. - */ +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer([ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', +]) -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer([ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer([ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', +]) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) - -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) - -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer([ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', +]) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(BaileysProvider) + createBot({ flow: adapterFlow, provider: adapterProvider, database: adapterDB, }) + + QRPortalWeb() } main() diff --git a/starters/apps/base-baileys-memory/package.json b/starters/apps/base-baileys-memory/package.json index 481e00a..2d01103 100644 --- a/starters/apps/base-baileys-memory/package.json +++ b/starters/apps/base-baileys-memory/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-bailey-memory", + "name": "base-bailey-memory", "version": "1.0.0", "description": "", "main": "app.js", @@ -13,6 +13,7 @@ "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", "@bot-whatsapp/provider": "latest", + "@bot-whatsapp/portal": "latest", "@adiwajshing/baileys": "4.4.0", "mime-types": "2.1.35", "wa-sticker-formatter": "4.3.2" diff --git a/starters/apps/base-baileys-memory/public/index.html b/starters/apps/base-baileys-memory/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-baileys-memory/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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. -

-
- Ver documentación -
-
-
- - diff --git a/starters/apps/base-baileys-memory/server.http.js b/starters/apps/base-baileys-memory/server.http.js deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-baileys-memory/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-mongo/package.json b/starters/apps/base-baileys-mongo/package.json index d828a88..c2f8624 100644 --- a/starters/apps/base-baileys-mongo/package.json +++ b/starters/apps/base-baileys-mongo/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-bailey-mongo", + "name": "base-bailey-mongo", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-baileys-mongo/public/index.html b/starters/apps/base-baileys-mongo/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-baileys-mongo/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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. -

-
- Ver documentación -
-
-
- - diff --git a/starters/apps/base-baileys-mongo/server.http.js b/starters/apps/base-baileys-mongo/server.http.js deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-baileys-mongo/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-baileys-mysql/package.json b/starters/apps/base-baileys-mysql/package.json index 4a7b07a..7ecb417 100644 --- a/starters/apps/base-baileys-mysql/package.json +++ b/starters/apps/base-baileys-mysql/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-bailey-mysql", + "name": "base-bailey-mysql", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-meta-json/package.json b/starters/apps/base-meta-json/package.json index 3243406..e034a53 100644 --- a/starters/apps/base-meta-json/package.json +++ b/starters/apps/base-meta-json/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-meta-json", + "name": "base-meta-json", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-meta-memory/package.json b/starters/apps/base-meta-memory/package.json index f86e916..51da345 100644 --- a/starters/apps/base-meta-memory/package.json +++ b/starters/apps/base-meta-memory/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-meta-memory", + "name": "base-meta-memory", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-meta-mongo/package.json b/starters/apps/base-meta-mongo/package.json index 94055f8..686ac63 100644 --- a/starters/apps/base-meta-mongo/package.json +++ b/starters/apps/base-meta-mongo/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-meta-mongo", + "name": "base-meta-mongo", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-meta-mysql/package.json b/starters/apps/base-meta-mysql/package.json index a9a71b0..45fe39e 100644 --- a/starters/apps/base-meta-mysql/package.json +++ b/starters/apps/base-meta-mysql/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-meta-mysql", + "name": "base-meta-mysql", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-twilio-json/package.json b/starters/apps/base-twilio-json/package.json index 4f5fdf4..00ab354 100644 --- a/starters/apps/base-twilio-json/package.json +++ b/starters/apps/base-twilio-json/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-twilio-json", + "name": "base-twilio-json", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-twilio-memory/package.json b/starters/apps/base-twilio-memory/package.json index e71ca5a..cdfaf65 100644 --- a/starters/apps/base-twilio-memory/package.json +++ b/starters/apps/base-twilio-memory/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-twilio-memory", + "name": "base-twilio-memory", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-twilio-mongo/package.json b/starters/apps/base-twilio-mongo/package.json index 4a8c063..69a05bb 100644 --- a/starters/apps/base-twilio-mongo/package.json +++ b/starters/apps/base-twilio-mongo/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-twilio-mongo", + "name": "base-twilio-mongo", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-twilio-mysql/package.json b/starters/apps/base-twilio-mysql/package.json index d4c4d37..453955b 100644 --- a/starters/apps/base-twilio-mysql/package.json +++ b/starters/apps/base-twilio-mysql/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-twilio-mysql", + "name": "base-twilio-mysql", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-venom-json/package.json b/starters/apps/base-venom-json/package.json index 88d7f6f..4d10427 100644 --- a/starters/apps/base-venom-json/package.json +++ b/starters/apps/base-venom-json/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-venom-json", + "name": "base-venom-json", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-venom-memory/package.json b/starters/apps/base-venom-memory/package.json index dfe5408..57af4e1 100644 --- a/starters/apps/base-venom-memory/package.json +++ b/starters/apps/base-venom-memory/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-venom-memory", + "name": "base-venom-memory", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-venom-mongo/package.json b/starters/apps/base-venom-mongo/package.json index 3b46613..0d84d2b 100644 --- a/starters/apps/base-venom-mongo/package.json +++ b/starters/apps/base-venom-mongo/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-venom-mongo", + "name": "base-venom-mongo", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-venom-mysql/package.json b/starters/apps/base-venom-mysql/package.json index 670fd00..a029a70 100644 --- a/starters/apps/base-venom-mysql/package.json +++ b/starters/apps/base-venom-mysql/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-venom-mysql", + "name": "base-venom-mysql", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-wweb-json/package.json b/starters/apps/base-wweb-json/package.json index 9abc893..d55dfeb 100644 --- a/starters/apps/base-wweb-json/package.json +++ b/starters/apps/base-wweb-json/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-wweb-json", + "name": "base-wweb-json", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-wweb-memory/package.json b/starters/apps/base-wweb-memory/package.json index fbf9400..d9c3ee0 100644 --- a/starters/apps/base-wweb-memory/package.json +++ b/starters/apps/base-wweb-memory/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-wweb-memory", + "name": "base-wweb-memory", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-wweb-mongo/package.json b/starters/apps/base-wweb-mongo/package.json index c58767a..e7ecebb 100644 --- a/starters/apps/base-wweb-mongo/package.json +++ b/starters/apps/base-wweb-mongo/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-wweb-mongo", + "name": "base-wweb-mongo", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-wweb-mysql/package.json b/starters/apps/base-wweb-mysql/package.json index b1c44ff..3ab34d5 100644 --- a/starters/apps/base-wweb-mysql/package.json +++ b/starters/apps/base-wweb-mysql/package.json @@ -1,5 +1,5 @@ { - "name": "bot-whatsapp-base-wweb-mysql", + "name": "base-wweb-mysql", "version": "1.0.0", "description": "", "main": "app.js", From 2fc274725df91d5e83b4f3eab233c149b4715d05 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 11:58:25 +0100 Subject: [PATCH 03/47] docs: :memo: meta added --- .../docs/src/routes/docs/providers/index.mdx | 6 + .../src/routes/docs/providers/meta/index.mdx | 158 +++++++++++++++++- 2 files changed, 163 insertions(+), 1 deletion(-) diff --git a/packages/docs/src/routes/docs/providers/index.mdx b/packages/docs/src/routes/docs/providers/index.mdx index 26241ec..0f6db6a 100644 --- a/packages/docs/src/routes/docs/providers/index.mdx +++ b/packages/docs/src/routes/docs/providers/index.mdx @@ -39,6 +39,12 @@ Estamos trabajando en el apartado de la documentación lo más claro posible. Pu --- +### Meta: Configuración + +Estamos trabajando en el apartado de la documentación lo más claro posible. Puedes encontrar los [detalles aquí](/docs/providers/meta) + +--- + + En el ejemplo de abajo puedes ver como una sugerencia de como puede ser + utilizando variables de entorno + + +```js +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + + const adapterProvider = createProvider(MetaProvider, { + jwtToken: process.env.JWTOKEN, //EAARBW3ZBGU0UBAACDjtQIzI8JuEa............. + numberId: process.env.NUMBER_ID, //103975305758520 + verifyToken: process.env.VERIFY_TOKEN, //LO_QUE_SEA + }) + + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() +``` + +--- + +Luego de ejecutar el bot encontraras un mensaje en la consola similar al siguiente. +Donde podrás encontrar la URL para tu **webhook** + +```shell +$ npm start + +> bot-whatsapp-base-meta-memory@1.0.0 start +> node app.js + + +[meta]: Agregar esta url "WHEN A MESSAGE COMES IN" +[meta]: POST http://localhost:3000/webhook +[meta]: Más información en la documentacion +``` + +--- + +## ¿Ahora que hago? + +Podrás observar que el bot inicia un servicio HTTP (endpoint) que debe estar en un servidor en linea para que puedas conectarlo con Meta. + +--- + +### Opción 1: + +Puedes hacer pruebas en local atrevés de un servidor proxy tunnel.  +Descarga **[ngork](https://ngrok.com/download)** es una herramienta gratuita que nos ayudara con esto. + +![](https://i.imgur.com/TjjBtRh.png) + +--- + +Esto genera una URL en línea que podemos usar en la parte de **WebHook** de Meta + +![](https://i.imgur.com/NXHMDsf.png) + +--- + +![](https://i.imgur.com/tpov3D1.png) + +--- + +![](https://i.imgur.com/haRGylR.png) + +--- + +![](https://i.imgur.com/cMaIzeC.png) + +--- + +### Opción 2: + +Si ya tienes desplegado tu bot en un servidor tienes que obtener la IP publica o subdominio que te proporcionaron. **Ejemplo** si estas usando +[Railway](https://railway.app/) puedes ir a la seccion de ajustes y generar un subdominio. Ya tendriamos el **WebHook** +`https://base-twilio-memory-production.up.railway.app/twilio-hook` + +![](https://i.imgur.com/Yg2BYqB.png) + +--- + +![](https://i.imgur.com/dIbyEwp.png) + +--- + + From af44ed12684c54f8c7948c199755c49e5afd9964 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 13:25:18 +0100 Subject: [PATCH 04/47] ci: :zap: add github release --- .github/workflows/releases-dev.yml | 2 +- .github/workflows/releases.yml | 2 +- package.json | 5 ++- packages/docs/src/components/widgets/Hero.tsx | 9 ++++- scripts/release.js | 38 ++++++++++++++++++- yarn.lock | 1 + 6 files changed, 52 insertions(+), 5 deletions(-) diff --git a/.github/workflows/releases-dev.yml b/.github/workflows/releases-dev.yml index 6f380a2..7848669 100644 --- a/.github/workflows/releases-dev.yml +++ b/.github/workflows/releases-dev.yml @@ -3,7 +3,7 @@ name: 🚀 (DEV) Liberando versiones on: push: branches: - - next-release + - release/next jobs: ############ RELEASE ############ diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index df211d4..2fd43fe 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -3,7 +3,7 @@ name: 🚀⚡ Liberando versiones on: push: branches: - - production-release + - release/production jobs: ############ RELEASE ############ release: diff --git a/package.json b/package.json index b15b835..7387dfc 100644 --- a/package.json +++ b/package.json @@ -97,5 +97,8 @@ "npm": "please-use-yarn", "yarn": ">=3" }, - "author": "Leifer Mendez " + "author": "Leifer Mendez ", + "dependencies": { + "@octokit/core": "^4.1.0" + } } diff --git a/packages/docs/src/components/widgets/Hero.tsx b/packages/docs/src/components/widgets/Hero.tsx index 4700421..0e7cc5e 100644 --- a/packages/docs/src/components/widgets/Hero.tsx +++ b/packages/docs/src/components/widgets/Hero.tsx @@ -47,13 +47,20 @@ export default component$(() => { npm create bot-whatsapp@latest - diff --git a/scripts/release.js b/scripts/release.js index 9dfcc62..e88e740 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -3,16 +3,50 @@ const { join } = require('path') const { execFile } = require('node:child_process') const process = require('node:process') const util = require('node:util') +const { Octokit } = require('@octokit/core') const OS_ENVIROMENT_WIN = process.platform.includes('win32') const semver = require('semver') const NPM_COMMAND = OS_ENVIROMENT_WIN ? 'npm.cmd' : 'npm' -const [PKG_ARG, PKG_ARG_VERSION, NPM_TOKEN] = process.argv.slice(2) || [null] +const [PKG_ARG, PKG_ARG_VERSION, NPM_TOKEN, GITHUB_TOKEN] = process.argv.slice( + 2 +) || [null] const PATH_PACKAGES = join(__dirname, '..', `packages`) const cmd = util.promisify(execFile) +/** + * Publicar Release en Github + * @param {*} name + * @param {*} tag_name + * @param {*} auth + * @param {*} owner + * @param {*} repo + */ +const githubGithubRelease = async ( + name = '', + tag_name = '', + auth = '', + owner = 'codigoencasa', + repo = 'bot-whatsapp' +) => { + const octokit = new Octokit({ + auth, + }) + + await octokit.request(`POST /repos/${owner}/${repo}/releases`, { + owner, + repo, + tag_name, + name, + body: 'Description of the release', + draft: false, + prerelease: false, + generate_release_notes: true, + }) +} + /** * Create Token */ @@ -147,6 +181,7 @@ const publishRelease = async (packageName, latest = null) => { const main = async () => { if (PKG_ARG) { let EXIST_VERSION = true + const githubToken = GITHUB_TOKEN ? GITHUB_TOKEN.split('=').at(1) : null const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null const pkgNumber = PKG_ARG_VERSION @@ -161,6 +196,7 @@ const main = async () => { } await packRelease(pkgName) await publishRelease(pkgName, pkgNumber) + await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken) } } diff --git a/yarn.lock b/yarn.lock index 05e6737..cf802d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1100,6 +1100,7 @@ __metadata: dependencies: "@commitlint/cli": ^17.3.0 "@commitlint/config-conventional": ^17.3.0 + "@octokit/core": ^4.1.0 "@rollup/plugin-commonjs": ^23.0.2 "@rollup/plugin-json": ^5.0.1 "@rollup/plugin-node-resolve": ^15.0.1 From d00547866a0d39a9d0f777943795948a9117597e Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 13:31:34 +0100 Subject: [PATCH 05/47] ci: :zap: add github release --- scripts/release.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/release.js b/scripts/release.js index e88e740..5ed1f58 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -196,7 +196,8 @@ const main = async () => { } await packRelease(pkgName) await publishRelease(pkgName, pkgNumber) - await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken) + if (pkgNumber) + await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken) } } From 0619641f82225adbc687bd609dd15af4b9a1d342 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 12:33:39 +0000 Subject: [PATCH 06/47] =?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 d90a42b9628dd60a013a903909c03c6ba74055eb Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 13:33:52 +0100 Subject: [PATCH 07/47] ci: :zap: add github release --- .github/workflows/releases.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 2fd43fe..961efbf 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -43,22 +43,22 @@ jobs: run: yarn build:full - name: Release @bot-whatsapp/bot - run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/cli - run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/create-bot-whatsapp - run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/database - run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/provider - run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/portal - run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Commit and push changes uses: devops-infra/action-commit-push@master From afb127278aadc23436d3d3530f84a694d4e0dbbc Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 12:38:01 +0000 Subject: [PATCH 08/47] =?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 8e3413ca80ce9507e7136ff11ef54e58d4fe2bd6 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 13:48:33 +0100 Subject: [PATCH 09/47] ci: :zap: add github release --- .github/workflows/releases.yml | 12 +++++++----- package.json | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 961efbf..fc2081b 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -60,8 +60,10 @@ jobs: - name: Release @bot-whatsapp/portal run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" - - name: Commit and push changes - uses: devops-infra/action-commit-push@master - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - commit_message: 'release(version): 🚀 - "${{ steps.package-version.outputs.current-version}}" release' + - name: GIT commit and push all changed files + if: github.event_name == 'push' + run: | + git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}" + git config --global user.email "username@users.noreply.github.com" + git commit -a -m 'release(version): 🚀 - "${{ steps.package-version.outputs.current-version}}" release' + git push diff --git a/package.json b/package.json index 7387dfc..471f7a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.8", + "version": "0.1.9", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From 375a997f25a78d1c469c9466a86e3d00cb201571 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 12:49:52 +0000 Subject: [PATCH 10/47] =?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 5b3e7cefde57b38fad32a2ade2641b944989bb2d Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 14:32:59 +0100 Subject: [PATCH 11/47] ci: :zap: add github release --- package.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 471f7a1..983f107 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,8 @@ "rollup-plugin-copy": "^3.4.0", "semver": "^7.3.8", "standard-version": "^9.5.0", - "uvu": "^0.5.6" + "uvu": "^0.5.6", + "@octokit/core": "^4.1.0" }, "packageManager": "yarn@3.3.0", "engines": { @@ -97,8 +98,5 @@ "npm": "please-use-yarn", "yarn": ">=3" }, - "author": "Leifer Mendez ", - "dependencies": { - "@octokit/core": "^4.1.0" - } + "author": "Leifer Mendez " } From c621d0ee2439e19783a75c39f81e3cee8ae20cbb Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 13:36:55 +0000 Subject: [PATCH 12/47] =?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 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 983f107..fe8cb42 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "devDependencies": { "@commitlint/cli": "^17.3.0", "@commitlint/config-conventional": "^17.3.0", + "@octokit/core": "^4.1.0", "@rollup/plugin-commonjs": "^23.0.2", "@rollup/plugin-json": "^5.0.1", "@rollup/plugin-node-resolve": "^15.0.1", @@ -89,8 +90,7 @@ "rollup-plugin-copy": "^3.4.0", "semver": "^7.3.8", "standard-version": "^9.5.0", - "uvu": "^0.5.6", - "@octokit/core": "^4.1.0" + "uvu": "^0.5.6" }, "packageManager": "yarn@3.3.0", "engines": { From d52951adf9a962b2a1a14c990554c359781a95d1 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 14:41:13 +0100 Subject: [PATCH 13/47] ci: :fire: fix ci version name --- .github/workflows/netlify.yml | 2 +- .github/workflows/releases-dev.yml | 3 +++ .github/workflows/releases.yml | 15 +++++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/netlify.yml b/.github/workflows/netlify.yml index 76d5383..8f1ba08 100644 --- a/.github/workflows/netlify.yml +++ b/.github/workflows/netlify.yml @@ -3,7 +3,7 @@ name: 📄 (PROD) Desplegando documentacion on: push: branches: - - next-release + - release/next jobs: ############ DOCUMENTATION BUILD ############ diff --git a/.github/workflows/releases-dev.yml b/.github/workflows/releases-dev.yml index 7848669..4e5c169 100644 --- a/.github/workflows/releases-dev.yml +++ b/.github/workflows/releases-dev.yml @@ -44,6 +44,9 @@ jobs: - name: Release @bot-whatsapp/provider run: yarn node ./scripts/release.js --name=provider --version= --token="${{ secrets.NPM_TOKEN }}" + - name: Release @bot-whatsapp/contexts + run: yarn node ./scripts/release.js --name=contexts --version= --token="${{ secrets.NPM_TOKEN }}" + - name: Release @bot-whatsapp/portal run: yarn node ./scripts/release.js --name=portal --version= --token="${{ secrets.NPM_TOKEN }}" diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index fc2081b..26b8391 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -43,22 +43,25 @@ jobs: run: yarn build:full - name: Release @bot-whatsapp/bot - run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/cli - run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/create-bot-whatsapp - run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/database - run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/provider - run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + + - name: Release @bot-whatsapp/contexts + run: yarn node ./scripts/release.js --name=contexts --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" - name: Release @bot-whatsapp/portal - run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }} --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" - name: GIT commit and push all changed files if: github.event_name == 'push' From 787cdc69a068ea4d1da7e31b6f74e853c5f2d9ec Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 13:45:16 +0000 Subject: [PATCH 14/47] =?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 0af9ef2dae723ec4f8bde1949714a69faf95b01e Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 15:14:51 +0100 Subject: [PATCH 15/47] ci: :fire: fix ci version name --- packages/contexts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contexts/package.json b/packages/contexts/package.json index 2301645..92b9561 100644 --- a/packages/contexts/package.json +++ b/packages/contexts/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/contexts", - "version": "0.0.1", + "version": "0.0.4-alpha.0", "description": "", "main": "./lib/bundle.contexts.cjs", "files": [ From faa3a21ffe1c1ffc0d3e58f9b2bb6876e18d9437 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 14:16:19 +0000 Subject: [PATCH 16/47] =?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 --- packages/provider/src/twilio/package.json | 2 +- starters/apps/base-twilio-json/package.json | 2 +- starters/apps/base-twilio-memory/package.json | 2 +- starters/apps/base-twilio-mongo/package.json | 2 +- starters/apps/base-twilio-mysql/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/provider/src/twilio/package.json b/packages/provider/src/twilio/package.json index dd0a9bf..e4bb7d4 100644 --- a/packages/provider/src/twilio/package.json +++ b/packages/provider/src/twilio/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "twilio": "3.84.0" + "twilio": "3.84.1" } } diff --git a/starters/apps/base-twilio-json/package.json b/starters/apps/base-twilio-json/package.json index 00ab354..15367a6 100644 --- a/starters/apps/base-twilio-json/package.json +++ b/starters/apps/base-twilio-json/package.json @@ -11,7 +11,7 @@ "dependencies": { "body-parser": "^1.20.1", "polka": "^0.5.2", - "twilio": "3.84.0", + "twilio": "3.84.1", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-twilio-memory/package.json b/starters/apps/base-twilio-memory/package.json index cdfaf65..bf1501c 100644 --- a/starters/apps/base-twilio-memory/package.json +++ b/starters/apps/base-twilio-memory/package.json @@ -11,7 +11,7 @@ "dependencies": { "body-parser": "^1.20.1", "polka": "^0.5.2", - "twilio": "3.84.0", + "twilio": "3.84.1", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-twilio-mongo/package.json b/starters/apps/base-twilio-mongo/package.json index 69a05bb..06bdef2 100644 --- a/starters/apps/base-twilio-mongo/package.json +++ b/starters/apps/base-twilio-mongo/package.json @@ -11,7 +11,7 @@ "dependencies": { "body-parser": "^1.20.1", "polka": "^0.5.2", - "twilio": "3.84.0", + "twilio": "3.84.1", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-twilio-mysql/package.json b/starters/apps/base-twilio-mysql/package.json index 453955b..90149e2 100644 --- a/starters/apps/base-twilio-mysql/package.json +++ b/starters/apps/base-twilio-mysql/package.json @@ -11,7 +11,7 @@ "dependencies": { "body-parser": "^1.20.1", "polka": "^0.5.2", - "twilio": "3.84.0", + "twilio": "3.84.1", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", From 9704bc0f0203f7be200ccd80c69bef55837fe2f4 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 15:28:30 +0100 Subject: [PATCH 17/47] docs: :memo: meta added --- .github/workflows/releases.yml | 17 +++++++----- packages/portal/package.json | 2 +- scripts/github.js | 47 ++++++++++++++++++++++++++++++++++ scripts/release.js | 39 +--------------------------- 4 files changed, 59 insertions(+), 46 deletions(-) create mode 100644 scripts/github.js diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 26b8391..ab4faa4 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -43,25 +43,28 @@ jobs: run: yarn build:full - name: Release @bot-whatsapp/bot - run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" - name: Release @bot-whatsapp/cli - run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" - name: Release @bot-whatsapp/create-bot-whatsapp - run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" - name: Release @bot-whatsapp/database - run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" - name: Release @bot-whatsapp/provider - run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" - name: Release @bot-whatsapp/contexts - run: yarn node ./scripts/release.js --name=contexts --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=contexts --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" - name: Release @bot-whatsapp/portal - run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" --gitToken="${{ secrets.OCTO_TOKEN }}" + run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}" + + - name: Release Github + run: yarn node ./scripts/github.js --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.OCTO_TOKEN }}" - name: GIT commit and push all changed files if: github.event_name == 'push' diff --git a/packages/portal/package.json b/packages/portal/package.json index f32cf85..e8941f8 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/portal", - "version": "0.0.9-alpha.0", + "version": "v0.1.11", "description": "Portal WEB para escanear QR", "main": "./lib/portal.http.cjs", "scripts": { diff --git a/scripts/github.js b/scripts/github.js new file mode 100644 index 0000000..9277d83 --- /dev/null +++ b/scripts/github.js @@ -0,0 +1,47 @@ +const process = require('node:process') +const { Octokit } = require('@octokit/core') + +const [PKG_ARG, GITHUB_TOKEN] = process.argv.slice(2) || [null] + +/** + * Publicar Release en Github + * @param {*} name + * @param {*} tag_name + * @param {*} auth + * @param {*} owner + * @param {*} repo + */ +const githubGithubRelease = async ( + name = '', + tag_name = '', + auth = '', + owner = 'codigoencasa', + repo = 'bot-whatsapp' +) => { + const octokit = new Octokit({ + auth, + }) + + await octokit.request(`POST /repos/${owner}/${repo}/releases`, { + owner, + repo, + tag_name, + name, + body: 'Description of the release', + draft: false, + prerelease: false, + generate_release_notes: true, + }) +} + +const main = async () => { + if (PKG_ARG) { + const githubToken = GITHUB_TOKEN ? GITHUB_TOKEN.split('=').at(1) : null + const pkgNumber = PKG_ARG ? PKG_ARG.split('=').at(1) : null + + if (pkgNumber) + await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken) + } +} + +main() diff --git a/scripts/release.js b/scripts/release.js index 5ed1f58..9dfcc62 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -3,50 +3,16 @@ const { join } = require('path') const { execFile } = require('node:child_process') const process = require('node:process') const util = require('node:util') -const { Octokit } = require('@octokit/core') const OS_ENVIROMENT_WIN = process.platform.includes('win32') const semver = require('semver') const NPM_COMMAND = OS_ENVIROMENT_WIN ? 'npm.cmd' : 'npm' -const [PKG_ARG, PKG_ARG_VERSION, NPM_TOKEN, GITHUB_TOKEN] = process.argv.slice( - 2 -) || [null] +const [PKG_ARG, PKG_ARG_VERSION, NPM_TOKEN] = process.argv.slice(2) || [null] const PATH_PACKAGES = join(__dirname, '..', `packages`) const cmd = util.promisify(execFile) -/** - * Publicar Release en Github - * @param {*} name - * @param {*} tag_name - * @param {*} auth - * @param {*} owner - * @param {*} repo - */ -const githubGithubRelease = async ( - name = '', - tag_name = '', - auth = '', - owner = 'codigoencasa', - repo = 'bot-whatsapp' -) => { - const octokit = new Octokit({ - auth, - }) - - await octokit.request(`POST /repos/${owner}/${repo}/releases`, { - owner, - repo, - tag_name, - name, - body: 'Description of the release', - draft: false, - prerelease: false, - generate_release_notes: true, - }) -} - /** * Create Token */ @@ -181,7 +147,6 @@ const publishRelease = async (packageName, latest = null) => { const main = async () => { if (PKG_ARG) { let EXIST_VERSION = true - const githubToken = GITHUB_TOKEN ? GITHUB_TOKEN.split('=').at(1) : null const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null const pkgNumber = PKG_ARG_VERSION @@ -196,8 +161,6 @@ const main = async () => { } await packRelease(pkgName) await publishRelease(pkgName, pkgNumber) - if (pkgNumber) - await githubGithubRelease(`v${pkgNumber}`, pkgNumber, githubToken) } } From e2fec5d521974c51a0f9ff1169e1546f51b9e100 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 14:33:19 +0000 Subject: [PATCH 18/47] =?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 c6f58e913d02ac9cbda21b09e55fd71018547b80 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 15:35:47 +0100 Subject: [PATCH 19/47] chore(release): 0.1.10 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eae6a68..360aa17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.10](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.8...v0.1.10) (2023-01-11) + + +### Bug Fixes + +* :fire: update qr package ([ecde23f](https://github.com/leifermendez/bot-whatsapp/commit/ecde23fdea65def209aa874af35a3f293e6b1a91)) + ### [0.1.8](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.8) (2023-01-10) ### [0.1.7](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.7) (2023-01-10) diff --git a/package.json b/package.json index fe8cb42..87b8f0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.9", + "version": "0.1.10", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From be6c609570bf76f6112f861c4949f79ac1af1653 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 15:36:19 +0100 Subject: [PATCH 20/47] chore: :zap: set MANUAL version to bypass From 68a6e4b241c70cb0b91d5e2a557d3bcbb92738a5 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 14:39:57 +0000 Subject: [PATCH 21/47] =?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 eb1fcbff228876d748c87a6cf060a165dcc56638 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 16:11:55 +0100 Subject: [PATCH 22/47] chore(release): 0.1.11 --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 360aa17..00a5618 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.11](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.10...v0.1.11) (2023-01-11) + +### [0.1.9-pre](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.9...v0.1.9-pre) (2023-01-10) + +### [0.1.7-pre-1](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-alpha...v0.1.7-pre-1) (2023-01-10) + +### [0.1.7-alpha](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.7-alpha) (2023-01-10) + ### [0.1.10](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.8...v0.1.10) (2023-01-11) diff --git a/package.json b/package.json index 87b8f0b..5e3d098 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.10", + "version": "0.1.11", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From edf5fdcbdc46a8a96367042df6a23a4a46b88545 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 16:12:09 +0100 Subject: [PATCH 23/47] chore(release): 0.1.12 --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00a5618..3c74d4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.12](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.10...v0.1.12) (2023-01-11) + +### [0.1.9-pre](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.9...v0.1.9-pre) (2023-01-10) + +### [0.1.7-pre-1](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-alpha...v0.1.7-pre-1) (2023-01-10) + +### [0.1.7-alpha](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.7-alpha) (2023-01-10) + ### [0.1.11](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.10...v0.1.11) (2023-01-11) ### [0.1.9-pre](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.9...v0.1.9-pre) (2023-01-10) diff --git a/package.json b/package.json index 5e3d098..d7ef271 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.11", + "version": "0.1.12", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From b321b03b2a04566a90a5ff41929734e021a6476e Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 16:12:24 +0100 Subject: [PATCH 24/47] chore(release): 0.1.12 --- .github/workflows/releases.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index ab4faa4..2cbe8e6 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -26,9 +26,6 @@ jobs: - run: corepack enable - - name: Set User - run: git config --global user.email "leifer.contacto@gmail.com" && git config --global user.name "Leifer Mendez" - - name: Install NPM Dependencies run: yarn install --immutable --network-timeout 300000 @@ -69,7 +66,7 @@ jobs: - name: GIT commit and push all changed files if: github.event_name == 'push' run: | - git config --global user.name "${{ env.CI_COMMIT_AUTHOR }}" + git config --global user.name "Leifer" git config --global user.email "username@users.noreply.github.com" git commit -a -m 'release(version): 🚀 - "${{ steps.package-version.outputs.current-version}}" release' git push From fea6276b89b17da8070828fa9059666743bb02b4 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 15:16:00 +0000 Subject: [PATCH 25/47] =?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 f029c7317a954ceb008f5d3808934484634ef4f0 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 16:18:47 +0100 Subject: [PATCH 26/47] chore(release): 0.1.12 --- .github/workflows/releases.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 2cbe8e6..90aa18b 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -26,6 +26,9 @@ jobs: - run: corepack enable + - name: Set User + run: git config --global user.email "leifer.contacto@gmail.com" && git config --global user.name "Leifer Mendez" + - name: Install NPM Dependencies run: yarn install --immutable --network-timeout 300000 @@ -66,7 +69,5 @@ jobs: - name: GIT commit and push all changed files if: github.event_name == 'push' run: | - git config --global user.name "Leifer" - git config --global user.email "username@users.noreply.github.com" git commit -a -m 'release(version): 🚀 - "${{ steps.package-version.outputs.current-version}}" release' git push From 288894ee8e1f0720d282a87efc40c6e42fc0fa9c Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 15:22:46 +0000 Subject: [PATCH 27/47] =?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 9688ec1844b9147751215ceb7f8524cdbe58655b Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 16:26:04 +0100 Subject: [PATCH 28/47] chore(release): 0.1.13 --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c74d4a..023883a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.13](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.12...v0.1.13) (2023-01-11) + ### [0.1.12](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.10...v0.1.12) (2023-01-11) ### [0.1.9-pre](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.9...v0.1.9-pre) (2023-01-10) diff --git a/package.json b/package.json index d7ef271..07bc07d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.12", + "version": "0.1.13", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From f80a051fa950d8d01bb01c9f4295245881df3087 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 16:26:16 +0100 Subject: [PATCH 29/47] chore(release): 0.1.13 --- .github/workflows/releases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 90aa18b..72f0c48 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -69,5 +69,5 @@ jobs: - name: GIT commit and push all changed files if: github.event_name == 'push' run: | - git commit -a -m 'release(version): 🚀 - "${{ steps.package-version.outputs.current-version}}" release' + git commit -a -m 'chore(version): launch release 🚀 "${{ steps.package-version.outputs.current-version}}"' git push From 9fb34cc9e0d5ea721cfaa36e816518581c757d59 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 15:30:38 +0000 Subject: [PATCH 30/47] =?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 ef03478683b73d182c37ab15caf8173097a492ef Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 15:36:27 +0000 Subject: [PATCH 31/47] ci(version): :zap: automatic - "${date}" updated versions every packages --- packages/bot/package.json | 2 +- packages/cli/package.json | 2 +- packages/contexts/package.json | 2 +- packages/create-bot-whatsapp/package.json | 2 +- packages/database/package.json | 2 +- packages/portal/package.json | 2 +- packages/provider/package.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/bot/package.json b/packages/bot/package.json index c549214..44ebca0 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.53-alpha.0", + "version": "0.0.55-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 391098e..6f04765 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.60-alpha.0", + "version": "0.0.61-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/contexts/package.json b/packages/contexts/package.json index 92b9561..7f0f0a8 100644 --- a/packages/contexts/package.json +++ b/packages/contexts/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/contexts", - "version": "0.0.4-alpha.0", + "version": "0.0.5-alpha.0", "description": "", "main": "./lib/bundle.contexts.cjs", "files": [ diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index f9ffe1c..b6cf5b4 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.71-alpha.0", + "version": "0.0.72-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 6c53960..3d745a8 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.52-alpha.0", + "version": "0.0.53-alpha.0", "description": "Esto es el conector a mysql, pg, mongo", "main": "./lib/mock/index.cjs", "keywords": [], diff --git a/packages/portal/package.json b/packages/portal/package.json index ce7784d..03c9bae 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/portal", - "version": "0.0.10-alpha.0", + "version": "0.0.11-alpha.0", "description": "Portal WEB para escanear QR", "main": "./lib/portal.http.cjs", "scripts": { diff --git a/packages/provider/package.json b/packages/provider/package.json index 007f079..c32af01 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.58-alpha.0", + "version": "0.0.59-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From eceb170df03721dca4183b658c863b94fa04bc84 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Wed, 11 Jan 2023 10:36:18 -0600 Subject: [PATCH 32/47] feat: mod de starters para habiltar portal Modificacion de starters para habiltar el portal para el QR --- starters/apps/base-baileys-json/app.js | 64 +++++++--- starters/apps/base-baileys-memory/app.js | 64 +++++++--- starters/apps/base-baileys-mongo/app.js | 108 +++++++++-------- starters/apps/base-baileys-mysql/app.js | 108 +++++++++-------- .../apps/base-baileys-mysql/public/index.html | 80 ------------- .../apps/base-baileys-mysql/server.http.js | 34 ------ starters/apps/base-meta-json/app.js | 104 +++++++++-------- starters/apps/base-meta-memory/app.js | 104 +++++++++-------- starters/apps/base-meta-mongo/app.js | 104 +++++++++-------- starters/apps/base-meta-mysql/app.js | 104 +++++++++-------- starters/apps/base-twilio-json/app.js | 104 +++++++++-------- starters/apps/base-twilio-memory/app.js | 104 +++++++++-------- starters/apps/base-twilio-mongo/app.js | 104 +++++++++-------- starters/apps/base-twilio-mysql/app.js | 104 +++++++++-------- starters/apps/base-venom-json/app.js | 108 +++++++++-------- .../apps/base-venom-json/public/index.html | 80 ------------- starters/apps/base-venom-json/server.http.js | 34 ------ starters/apps/base-venom-memory/app.js | 108 +++++++++-------- .../apps/base-venom-memory/public/index.html | 80 ------------- .../apps/base-venom-memory/server.http.js | 34 ------ starters/apps/base-venom-mongo/app.js | 108 +++++++++-------- .../apps/base-venom-mongo/public/index.html | 80 ------------- starters/apps/base-venom-mongo/server.http.js | 34 ------ starters/apps/base-venom-mysql/app.js | 108 +++++++++-------- .../apps/base-venom-mysql/public/index.html | 80 ------------- starters/apps/base-venom-mysql/server.http.js | 34 ------ starters/apps/base-wweb-json/app.js | 108 +++++++++-------- .../apps/base-wweb-json/public/index.html | 80 ------------- starters/apps/base-wweb-json/server.http.js | 34 ------ starters/apps/base-wweb-memory/app.js | 108 +++++++++-------- .../apps/base-wweb-memory/public/index.html | 80 ------------- starters/apps/base-wweb-memory/server.http.js | 34 ------ starters/apps/base-wweb-mongo/app.js | 109 ++++++++++-------- .../apps/base-wweb-mongo/public/index.html | 80 ------------- starters/apps/base-wweb-mongo/server.http.js | 34 ------ starters/apps/base-wweb-mysql/app.js | 108 +++++++++-------- .../apps/base-wweb-mysql/public/index.html | 80 ------------- starters/apps/base-wweb-mysql/server.http.js | 34 ------ 38 files changed, 1174 insertions(+), 1893 deletions(-) delete mode 100644 starters/apps/base-baileys-mysql/public/index.html delete mode 100644 starters/apps/base-baileys-mysql/server.http.js delete mode 100644 starters/apps/base-venom-json/public/index.html delete mode 100644 starters/apps/base-venom-json/server.http.js delete mode 100644 starters/apps/base-venom-memory/public/index.html delete mode 100644 starters/apps/base-venom-memory/server.http.js delete mode 100644 starters/apps/base-venom-mongo/public/index.html delete mode 100644 starters/apps/base-venom-mongo/server.http.js delete mode 100644 starters/apps/base-venom-mysql/public/index.html delete mode 100644 starters/apps/base-venom-mysql/server.http.js delete mode 100644 starters/apps/base-wweb-json/public/index.html delete mode 100644 starters/apps/base-wweb-json/server.http.js delete mode 100644 starters/apps/base-wweb-memory/public/index.html delete mode 100644 starters/apps/base-wweb-memory/server.http.js delete mode 100644 starters/apps/base-wweb-mongo/public/index.html delete mode 100644 starters/apps/base-wweb-mongo/server.http.js delete mode 100644 starters/apps/base-wweb-mysql/public/index.html delete mode 100644 starters/apps/base-wweb-mysql/server.http.js diff --git a/starters/apps/base-baileys-json/app.js b/starters/apps/base-baileys-json/app.js index 67d4be6..b06887c 100644 --- a/starters/apps/base-baileys-json/app.js +++ b/starters/apps/base-baileys-json/app.js @@ -9,31 +9,59 @@ const QRPortalWeb = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const JsonFileAdapter = require('@bot-whatsapp/database/json') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) + const flowDocs = addKeyword([ 'doc', 'documentacion', 'documentación', -]).addAnswer([ - '📄 Aquí encontras las documentación recuerda que puedes mejorarla', - 'https://bot-whatsapp.netlify.app/', -]) +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer([ - '🙌 Aquí encontras un ejemplo rapido', - 'https://bot-whatsapp.netlify.app/docs/example/', -]) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowGracias = addKeyword(['gracias', 'grac']).addAnswer([ - '🚀 Puedes aportar tu granito de arena a este proyecto', - '[*opencollective*] https://opencollective.com/bot-whatsapp', - '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', - '[*patreon*] https://www.patreon.com/leifermendez', -]) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowDiscord = addKeyword(['discord']).addAnswer([ - '🤪 Únete al discord', - 'https://link.codigoencasa.com/DISCORD', -]) +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('🙌 Hola bienvenido a este *Chatbot*') diff --git a/starters/apps/base-baileys-memory/app.js b/starters/apps/base-baileys-memory/app.js index a8fbd00..3d05e79 100644 --- a/starters/apps/base-baileys-memory/app.js +++ b/starters/apps/base-baileys-memory/app.js @@ -9,31 +9,59 @@ const QRPortalWeb = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MockAdapter = require('@bot-whatsapp/database/mock') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) + const flowDocs = addKeyword([ 'doc', 'documentacion', 'documentación', -]).addAnswer([ - '📄 Aquí encontras las documentación recuerda que puedes mejorarla', - 'https://bot-whatsapp.netlify.app/', -]) +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer([ - '🙌 Aquí encontras un ejemplo rapido', - 'https://bot-whatsapp.netlify.app/docs/example/', -]) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowGracias = addKeyword(['gracias', 'grac']).addAnswer([ - '🚀 Puedes aportar tu granito de arena a este proyecto', - '[*opencollective*] https://opencollective.com/bot-whatsapp', - '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', - '[*patreon*] https://www.patreon.com/leifermendez', -]) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowDiscord = addKeyword(['discord']).addAnswer([ - '🤪 Únete al discord', - 'https://link.codigoencasa.com/DISCORD', -]) +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('🙌 Hola bienvenido a este *Chatbot*') diff --git a/starters/apps/base-baileys-mongo/app.js b/starters/apps/base-baileys-mongo/app.js index 277115d..253d1fa 100644 --- a/starters/apps/base-baileys-mongo/app.js +++ b/starters/apps/base-baileys-mongo/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MongoAdapter = require('@bot-whatsapp/database/mongo') @@ -29,58 +28,72 @@ const MONGO_DB_NAME = 'db_bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -95,6 +108,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-baileys-mysql/app.js b/starters/apps/base-baileys-mysql/app.js index 02a13c0..3dc800b 100644 --- a/starters/apps/base-baileys-mysql/app.js +++ b/starters/apps/base-baileys-mysql/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MySQLAdapter = require('@bot-whatsapp/database/mysql') @@ -30,58 +29,72 @@ const MYSQL_DB_NAME = 'bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -98,6 +111,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-baileys-mysql/public/index.html b/starters/apps/base-baileys-mysql/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-baileys-mysql/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-baileys-mysql/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-meta-json/app.js b/starters/apps/base-meta-json/app.js index 49dd430..cc4c7ac 100644 --- a/starters/apps/base-meta-json/app.js +++ b/starters/apps/base-meta-json/app.js @@ -20,58 +20,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-meta-memory/app.js b/starters/apps/base-meta-memory/app.js index 288929c..c8201e8 100644 --- a/starters/apps/base-meta-memory/app.js +++ b/starters/apps/base-meta-memory/app.js @@ -20,58 +20,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-meta-mongo/app.js b/starters/apps/base-meta-mongo/app.js index f40a6a2..18cd9ac 100644 --- a/starters/apps/base-meta-mongo/app.js +++ b/starters/apps/base-meta-mongo/app.js @@ -27,58 +27,72 @@ const MONGO_DB_NAME = 'db_bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-meta-mysql/app.js b/starters/apps/base-meta-mysql/app.js index 25b171c..102f977 100644 --- a/starters/apps/base-meta-mysql/app.js +++ b/starters/apps/base-meta-mysql/app.js @@ -28,58 +28,72 @@ const MYSQL_DB_NAME = 'bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-twilio-json/app.js b/starters/apps/base-twilio-json/app.js index 190e842..047a126 100644 --- a/starters/apps/base-twilio-json/app.js +++ b/starters/apps/base-twilio-json/app.js @@ -20,58 +20,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-twilio-memory/app.js b/starters/apps/base-twilio-memory/app.js index 9730709..cc1d16b 100644 --- a/starters/apps/base-twilio-memory/app.js +++ b/starters/apps/base-twilio-memory/app.js @@ -20,58 +20,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-twilio-mongo/app.js b/starters/apps/base-twilio-mongo/app.js index 9e5e3f7..dcabb99 100644 --- a/starters/apps/base-twilio-mongo/app.js +++ b/starters/apps/base-twilio-mongo/app.js @@ -27,58 +27,72 @@ const MONGO_DB_NAME = 'db_bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-twilio-mysql/app.js b/starters/apps/base-twilio-mysql/app.js index 7100f9c..4725cd3 100644 --- a/starters/apps/base-twilio-mysql/app.js +++ b/starters/apps/base-twilio-mysql/app.js @@ -29,58 +29,72 @@ const MYSQL_DB_NAME = 'bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { diff --git a/starters/apps/base-venom-json/app.js b/starters/apps/base-venom-json/app.js index c742f78..c399b5e 100644 --- a/starters/apps/base-venom-json/app.js +++ b/starters/apps/base-venom-json/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const JsonFileAdapter = require('@bot-whatsapp/database/json') @@ -22,58 +21,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -85,6 +98,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-venom-json/public/index.html b/starters/apps/base-venom-json/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-venom-json/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-venom-json/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-memory/app.js b/starters/apps/base-venom-memory/app.js index 6f89ef2..c539f36 100644 --- a/starters/apps/base-venom-memory/app.js +++ b/starters/apps/base-venom-memory/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const MockAdapter = require('@bot-whatsapp/database/mock') @@ -22,58 +21,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -85,6 +98,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-venom-memory/public/index.html b/starters/apps/base-venom-memory/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-venom-memory/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-venom-memory/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-mongo/app.js b/starters/apps/base-venom-mongo/app.js index d8de982..bae23f8 100644 --- a/starters/apps/base-venom-mongo/app.js +++ b/starters/apps/base-venom-mongo/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const MongoAdapter = require('@bot-whatsapp/database/mongo') @@ -29,58 +28,72 @@ const MONGO_DB_NAME = 'db_bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -95,6 +108,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-venom-mongo/public/index.html b/starters/apps/base-venom-mongo/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-venom-mongo/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-venom-mongo/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-venom-mysql/app.js b/starters/apps/base-venom-mysql/app.js index 24da8ee..737dc99 100644 --- a/starters/apps/base-venom-mysql/app.js +++ b/starters/apps/base-venom-mysql/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const MySQLAdapter = require('@bot-whatsapp/database/mysql') @@ -31,58 +30,72 @@ const MYSQL_DB_NAME = 'bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -99,6 +112,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-venom-mysql/public/index.html b/starters/apps/base-venom-mysql/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-venom-mysql/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-venom-mysql/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-json/app.js b/starters/apps/base-wweb-json/app.js index 31f03dd..3144bd0 100644 --- a/starters/apps/base-wweb-json/app.js +++ b/starters/apps/base-wweb-json/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const JsonFileAdapter = require('@bot-whatsapp/database/json') @@ -22,58 +21,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -85,6 +98,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-wweb-json/public/index.html b/starters/apps/base-wweb-json/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-wweb-json/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-wweb-json/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-memory/app.js b/starters/apps/base-wweb-memory/app.js index 5318283..29eb0bc 100644 --- a/starters/apps/base-wweb-memory/app.js +++ b/starters/apps/base-wweb-memory/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') @@ -22,58 +21,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock') * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -85,6 +98,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-wweb-memory/public/index.html b/starters/apps/base-wweb-memory/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-wweb-memory/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-wweb-memory/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-mongo/app.js b/starters/apps/base-wweb-mongo/app.js index 34f3887..43eed81 100644 --- a/starters/apps/base-wweb-mongo/app.js +++ b/starters/apps/base-wweb-mongo/app.js @@ -4,12 +4,10 @@ const { createFlow, addKeyword, } = require('@bot-whatsapp/bot') - +const QRPortal = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MongoAdapter = require('@bot-whatsapp/database/mongo') -require('./server.http') - /** * Declaramos las conexiones de Mongo */ @@ -29,58 +27,72 @@ const MONGO_DB_NAME = 'db_bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -95,6 +107,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-wweb-mongo/public/index.html b/starters/apps/base-wweb-mongo/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-wweb-mongo/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-wweb-mongo/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) diff --git a/starters/apps/base-wweb-mysql/app.js b/starters/apps/base-wweb-mysql/app.js index 2095842..2b31f4a 100644 --- a/starters/apps/base-wweb-mysql/app.js +++ b/starters/apps/base-wweb-mysql/app.js @@ -5,8 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -require('./server.http') - +const QRPortal = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MySQLAdapter = require('@bot-whatsapp/database/mysql') @@ -31,58 +30,72 @@ const MYSQL_DB_NAME = 'bot' * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal. */ -const flowBolsos2 = addKeyword(['bolsos2', '2']) - .addAnswer('🤯 *MUCHOS* bolsos ...') - .addAnswer('y mas bolsos... bla bla') +const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([ + '📄 Aquí tenemos el flujo secundario', +]) -const flowZapatos2 = addKeyword(['zapatos2', '2']) - .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') - .addAnswer('y algunas otras cosas.') +const flowDocs = addKeyword([ + 'doc', + 'documentacion', + 'documentación', +]).addAnswer( + [ + '📄 Aquí encontras las documentación recuerda que puedes mejorarla', + 'https://bot-whatsapp.netlify.app/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS']) - .addAnswer('🤯 Veo que elegiste zapatos') - .addAnswer('Tengo muchos zapatos...bla bla') - .addAnswer( - ['Manda:', '*(2) Zapatos2*', 'para mas información'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowZapatos2] - ) +const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer( + [ + '🙌 Aquí encontras un ejemplo rapido', + 'https://bot-whatsapp.netlify.app/docs/example/', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS']) - .addAnswer('🙌 Veo que elegiste bolsos') - .addAnswer('Tengo muchos bolsos...bla bla') - .addAnswer( - ['Manda:', '*(2) Bolsos2*', 'para mas información.'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos2] - ) +const flowGracias = addKeyword(['gracias', 'grac']).addAnswer( + [ + '🚀 Puedes aportar tu granito de arena a este proyecto', + '[*opencollective*] https://opencollective.com/bot-whatsapp', + '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez', + '[*patreon*] https://www.patreon.com/leifermendez', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) -/** - * Declarando flujo principal - */ +const flowDiscord = addKeyword(['discord']).addAnswer( + [ + '🤪 Únete al discord', + 'https://link.codigoencasa.com/DISCORD', + '\n*2* Para siguiente paso.', + ], + null, + null, + [flowSecundario] +) const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) - .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) - .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .addAnswer('🙌 Hola bienvenido a este *Chatbot*') .addAnswer( - ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'], - { capture: true }, - (ctx) => { - console.log('Aqui puedes ver más info del usuario...') - console.log('Puedes enviar un mail, hook, etc..') - console.log(ctx) - }, - [flowBolsos, flowZapatos] + [ + 'te comparto los siguientes links de interes sobre el proyecto', + '👉 *doc* para ver la documentación', + '👉 *gracias* para ver la lista de videos', + '👉 *discord* unirte al discord', + ], + null, + null, + [flowDocs, flowGracias, flowTuto, flowDiscord] ) const main = async () => { @@ -99,6 +112,7 @@ const main = async () => { provider: adapterProvider, database: adapterDB, }) + QRPortalWeb() } main() diff --git a/starters/apps/base-wweb-mysql/public/index.html b/starters/apps/base-wweb-mysql/public/index.html deleted file mode 100644 index 202b50c..0000000 --- a/starters/apps/base-wweb-mysql/public/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - 🤖 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 deleted file mode 100644 index 217bd71..0000000 --- a/starters/apps/base-wweb-mysql/server.http.js +++ /dev/null @@ -1,34 +0,0 @@ -const http = require('http') -const fs = require('fs') -const path = require('path') - -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$')) { - 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$')) { - 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(`Escanear QR Code http://localhost:${PORT}`)) From f430380b4f23d41702395c96c628bf13bf443278 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Wed, 11 Jan 2023 10:49:48 -0600 Subject: [PATCH 33/47] fix: correccion en starters app.js para portal QR correccion en starters app.js para portal QR --- starters/apps/base-baileys-mongo/app.js | 2 +- starters/apps/base-baileys-mysql/app.js | 2 +- starters/apps/base-venom-json/app.js | 2 +- starters/apps/base-venom-memory/app.js | 2 +- starters/apps/base-venom-mongo/app.js | 2 +- starters/apps/base-venom-mysql/app.js | 2 +- starters/apps/base-wweb-json/app.js | 2 +- starters/apps/base-wweb-memory/app.js | 2 +- starters/apps/base-wweb-mongo/app.js | 3 ++- starters/apps/base-wweb-mysql/app.js | 2 +- 10 files changed, 11 insertions(+), 10 deletions(-) diff --git a/starters/apps/base-baileys-mongo/app.js b/starters/apps/base-baileys-mongo/app.js index 253d1fa..2de3ad6 100644 --- a/starters/apps/base-baileys-mongo/app.js +++ b/starters/apps/base-baileys-mongo/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MongoAdapter = require('@bot-whatsapp/database/mongo') diff --git a/starters/apps/base-baileys-mysql/app.js b/starters/apps/base-baileys-mysql/app.js index 3dc800b..d3dbbe5 100644 --- a/starters/apps/base-baileys-mysql/app.js +++ b/starters/apps/base-baileys-mysql/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const BaileysProvider = require('@bot-whatsapp/provider/baileys') const MySQLAdapter = require('@bot-whatsapp/database/mysql') diff --git a/starters/apps/base-venom-json/app.js b/starters/apps/base-venom-json/app.js index c399b5e..120deee 100644 --- a/starters/apps/base-venom-json/app.js +++ b/starters/apps/base-venom-json/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const JsonFileAdapter = require('@bot-whatsapp/database/json') diff --git a/starters/apps/base-venom-memory/app.js b/starters/apps/base-venom-memory/app.js index c539f36..8402cf9 100644 --- a/starters/apps/base-venom-memory/app.js +++ b/starters/apps/base-venom-memory/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const MockAdapter = require('@bot-whatsapp/database/mock') diff --git a/starters/apps/base-venom-mongo/app.js b/starters/apps/base-venom-mongo/app.js index bae23f8..2f4f16a 100644 --- a/starters/apps/base-venom-mongo/app.js +++ b/starters/apps/base-venom-mongo/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const MongoAdapter = require('@bot-whatsapp/database/mongo') diff --git a/starters/apps/base-venom-mysql/app.js b/starters/apps/base-venom-mysql/app.js index 737dc99..8c5c2db 100644 --- a/starters/apps/base-venom-mysql/app.js +++ b/starters/apps/base-venom-mysql/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const VenomProvider = require('@bot-whatsapp/provider/venom') const MySQLAdapter = require('@bot-whatsapp/database/mysql') diff --git a/starters/apps/base-wweb-json/app.js b/starters/apps/base-wweb-json/app.js index 3144bd0..729ac2a 100644 --- a/starters/apps/base-wweb-json/app.js +++ b/starters/apps/base-wweb-json/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const JsonFileAdapter = require('@bot-whatsapp/database/json') diff --git a/starters/apps/base-wweb-memory/app.js b/starters/apps/base-wweb-memory/app.js index 29eb0bc..d6a567a 100644 --- a/starters/apps/base-wweb-memory/app.js +++ b/starters/apps/base-wweb-memory/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') diff --git a/starters/apps/base-wweb-mongo/app.js b/starters/apps/base-wweb-mongo/app.js index 43eed81..a8e8aad 100644 --- a/starters/apps/base-wweb-mongo/app.js +++ b/starters/apps/base-wweb-mongo/app.js @@ -4,7 +4,8 @@ const { createFlow, addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') + +const QRPortalWeb = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MongoAdapter = require('@bot-whatsapp/database/mongo') diff --git a/starters/apps/base-wweb-mysql/app.js b/starters/apps/base-wweb-mysql/app.js index 2b31f4a..68f7f37 100644 --- a/starters/apps/base-wweb-mysql/app.js +++ b/starters/apps/base-wweb-mysql/app.js @@ -5,7 +5,7 @@ const { addKeyword, } = require('@bot-whatsapp/bot') -const QRPortal = require('@bot-whatsapp/portal') +const QRPortalWeb = require('@bot-whatsapp/portal') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MySQLAdapter = require('@bot-whatsapp/database/mysql') From 675046cc58a63f6583da85fc35d3a873458e6051 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 20:34:59 +0100 Subject: [PATCH 34/47] ci: :fire: fix github action --- .github/workflows/check-providers.yml | 45 --------------------------- .github/workflows/codeql.yml | 3 +- .github/workflows/contributors.yml | 6 ++-- .github/workflows/netlify-dev.yml | 1 + .github/workflows/netlify.yml | 2 +- .github/workflows/releases-dev.yml | 12 ++++--- .github/workflows/releases.yml | 5 +-- .gitignore | 1 + 8 files changed, 18 insertions(+), 57 deletions(-) delete mode 100644 .github/workflows/check-providers.yml diff --git a/.github/workflows/check-providers.yml b/.github/workflows/check-providers.yml deleted file mode 100644 index 9965606..0000000 --- a/.github/workflows/check-providers.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Rev Providers - -on: - pull_request: - branches: - - dev - -jobs: - check-npm: - name: Install Dependencies - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 16.x - cache: 'yarn' - registry-url: https://registry.npmjs.org/ - - - run: corepack enable - - - name: Install NPM Dependencies - run: yarn install --immutable --network-timeout 300000 - - - name: Check Baileys - run: yarn node ./scripts/checker.js --name=baileys --stable=true - - - name: Check Venom - run: yarn node ./scripts/checker.js --name=venom --stable=true - - - name: Check web-whatsapp - run: yarn node ./scripts/checker.js --name=web-whatsapp --stable=true - - - name: Check Meta - run: yarn node ./scripts/checker.js --name=meta --stable=true - - - name: Check Twilio - run: yarn node ./scripts/checker.js --name=twilio --stable=true - - - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: 'ci(providers): 👍 updated versions stable providers' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 86178fd..a1fed1b 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -13,7 +13,7 @@ name: 'CodeQL' on: push: - branches: ['main', dev, next-release] + branches: [release/next] pull_request: # The branches below must be a subset of the branches above branches: ['main'] @@ -22,6 +22,7 @@ on: jobs: analyze: + if: ${{ !github.event.act }} name: Analyze runs-on: ubuntu-latest permissions: diff --git a/.github/workflows/contributors.yml b/.github/workflows/contributors.yml index 4f3d94e..b126e98 100644 --- a/.github/workflows/contributors.yml +++ b/.github/workflows/contributors.yml @@ -1,8 +1,8 @@ name: Revisando Colaboradores + on: - push: - branches: - - main + schedule: + - cron: '0 9 * * *' jobs: contrib-readme-job: diff --git a/.github/workflows/netlify-dev.yml b/.github/workflows/netlify-dev.yml index e3e8200..1820da5 100644 --- a/.github/workflows/netlify-dev.yml +++ b/.github/workflows/netlify-dev.yml @@ -13,6 +13,7 @@ on: jobs: ############ DOCUMENTATION BUILD ############ build-documentation: + if: ${{ !github.event.act }} name: Build Package runs-on: ubuntu-latest diff --git a/.github/workflows/netlify.yml b/.github/workflows/netlify.yml index 8f1ba08..2dac101 100644 --- a/.github/workflows/netlify.yml +++ b/.github/workflows/netlify.yml @@ -7,7 +7,7 @@ on: jobs: ############ DOCUMENTATION BUILD ############ - build-documentation: + build-documentation-prod: name: Build Package runs-on: ubuntu-latest diff --git a/.github/workflows/releases-dev.yml b/.github/workflows/releases-dev.yml index 4e5c169..6901587 100644 --- a/.github/workflows/releases-dev.yml +++ b/.github/workflows/releases-dev.yml @@ -50,8 +50,10 @@ jobs: - name: Release @bot-whatsapp/portal run: yarn node ./scripts/release.js --name=portal --version= --token="${{ secrets.NPM_TOKEN }}" - - name: Commit Versioning & Push changes - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: 'ci(version): :zap: automatic - "${date}" updated versions every packages' - branch: dev + - name: GIT commit and push all changed files + if: github.event_name == 'push' + run: | + git config --global user.email "leifer.contacto@gmail.com" + git config --global user.name "Leifer Mendez" + git commit -a -m 'chore(version): dev release 🫡' + git push origin dev diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 72f0c48..343164e 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -6,7 +6,8 @@ on: - release/production jobs: ############ RELEASE ############ - release: + release-prod: + if: ${{ !github.event.act }} name: Release runs-on: ubuntu-latest steps: @@ -70,4 +71,4 @@ jobs: if: github.event_name == 'push' run: | git commit -a -m 'chore(version): launch release 🚀 "${{ steps.package-version.outputs.current-version}}"' - git push + git push origin dev diff --git a/.gitignore b/.gitignore index 721d12c..1cc3038 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ yarn-error.log .npmrc # Local Netlify folder .netlify +.secrets \ No newline at end of file From 89cf90988833e0845368461beffa3cbc436f25de Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 20:40:41 +0100 Subject: [PATCH 35/47] ci: :fire: fix github action --- .github/workflows/releases-dev.yml | 12 +++++------- .github/workflows/releases.yml | 9 +++++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/releases-dev.yml b/.github/workflows/releases-dev.yml index 6901587..4e5c169 100644 --- a/.github/workflows/releases-dev.yml +++ b/.github/workflows/releases-dev.yml @@ -50,10 +50,8 @@ jobs: - name: Release @bot-whatsapp/portal run: yarn node ./scripts/release.js --name=portal --version= --token="${{ secrets.NPM_TOKEN }}" - - name: GIT commit and push all changed files - if: github.event_name == 'push' - run: | - git config --global user.email "leifer.contacto@gmail.com" - git config --global user.name "Leifer Mendez" - git commit -a -m 'chore(version): dev release 🫡' - git push origin dev + - name: Commit Versioning & Push changes + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: 'ci(version): :zap: automatic - "${date}" updated versions every packages' + branch: dev diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 343164e..aab4756 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -67,8 +67,9 @@ jobs: - name: Release Github run: yarn node ./scripts/github.js --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.OCTO_TOKEN }}" - - name: GIT commit and push all changed files + - name: Commit Versioning & Push changes if: github.event_name == 'push' - run: | - git commit -a -m 'chore(version): launch release 🚀 "${{ steps.package-version.outputs.current-version}}"' - git push origin dev + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: 'chore(version): launch release 🚀 "${{ steps.package-version.outputs.current-version}}"' + branch: dev From 0f9e57df378bcbf1dfe9de6390c925f87521bda0 Mon Sep 17 00:00:00 2001 From: leifermendez Date: Wed, 11 Jan 2023 19:44:10 +0000 Subject: [PATCH 36/47] ci(version): :zap: automatic - "${date}" updated versions every packages --- packages/bot/package.json | 2 +- packages/cli/package.json | 2 +- packages/contexts/package.json | 2 +- packages/create-bot-whatsapp/package.json | 2 +- packages/database/package.json | 2 +- packages/portal/package.json | 2 +- packages/provider/package.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/bot/package.json b/packages/bot/package.json index 44ebca0..b205714 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.55-alpha.0", + "version": "0.0.61-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 6f04765..18b8619 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.61-alpha.0", + "version": "0.0.67-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/contexts/package.json b/packages/contexts/package.json index 7f0f0a8..7381d6a 100644 --- a/packages/contexts/package.json +++ b/packages/contexts/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/contexts", - "version": "0.0.5-alpha.0", + "version": "0.0.11-alpha.0", "description": "", "main": "./lib/bundle.contexts.cjs", "files": [ diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index b6cf5b4..49503df 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.72-alpha.0", + "version": "0.0.78-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 3d745a8..80bbcd1 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.53-alpha.0", + "version": "0.0.59-alpha.0", "description": "Esto es el conector a mysql, pg, mongo", "main": "./lib/mock/index.cjs", "keywords": [], diff --git a/packages/portal/package.json b/packages/portal/package.json index 03c9bae..9fd3307 100644 --- a/packages/portal/package.json +++ b/packages/portal/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/portal", - "version": "0.0.11-alpha.0", + "version": "0.0.17-alpha.0", "description": "Portal WEB para escanear QR", "main": "./lib/portal.http.cjs", "scripts": { diff --git a/packages/provider/package.json b/packages/provider/package.json index c32af01..683ca66 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.59-alpha.0", + "version": "0.0.65-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From 9723e9d908f240070fbb06ae99e7107ea9919756 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 20:49:04 +0100 Subject: [PATCH 37/47] chore(release): 0.1.14 --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 023883a..f5cd96d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.14](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.13...v0.1.14) (2023-01-11) + ### [0.1.13](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.12...v0.1.13) (2023-01-11) ### [0.1.12](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.10...v0.1.12) (2023-01-11) diff --git a/package.json b/package.json index 07bc07d..e77273f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.13", + "version": "0.1.14", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From b682b0b6ba857cee126a3cde861270a3c94e8927 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 21:03:43 +0100 Subject: [PATCH 38/47] chore(release): 0.1.15 --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5cd96d..c16e624 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.15](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.14...v0.1.15) (2023-01-11) + ### [0.1.14](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.13...v0.1.14) (2023-01-11) ### [0.1.13](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.12...v0.1.13) (2023-01-11) diff --git a/package.json b/package.json index e77273f..c7f64fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.14", + "version": "0.1.15", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From e442d05aa4570e5147498695474e810e8de0b149 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 21:04:00 +0100 Subject: [PATCH 39/47] chore(version): launch release --- .github/workflows/releases.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index aab4756..32d04cf 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -67,6 +67,12 @@ jobs: - name: Release Github run: yarn node ./scripts/github.js --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.OCTO_TOKEN }}" + - name: 'Run if changes have been detected' + if: steps.auto-commit-action.outputs.changes_detected == 'true' + run: | + git add . + git commit -m "chore(version): pre release" + - name: Commit Versioning & Push changes if: github.event_name == 'push' uses: stefanzweifel/git-auto-commit-action@v4 From 42b98801db6dc13a9c7e247325788e72d48cbb64 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 21:16:19 +0100 Subject: [PATCH 40/47] chore(release): 0.1.16 --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c16e624..48381f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.1.16](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.15...v0.1.16) (2023-01-11) + ### [0.1.15](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.14...v0.1.15) (2023-01-11) ### [0.1.14](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.13...v0.1.14) (2023-01-11) diff --git a/package.json b/package.json index c7f64fc..a6e64e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.15", + "version": "0.1.16", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From aaec0751408ab49483d428810d94aaf7d46acb94 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 11 Jan 2023 21:17:32 +0100 Subject: [PATCH 41/47] fix(ci): pre-release --- .github/workflows/releases.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 32d04cf..d1c2e8f 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -68,7 +68,6 @@ jobs: run: yarn node ./scripts/github.js --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.OCTO_TOKEN }}" - name: 'Run if changes have been detected' - if: steps.auto-commit-action.outputs.changes_detected == 'true' run: | git add . git commit -m "chore(version): pre release" From 230981e2676361149cb2a99def7f705e75009260 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Thu, 12 Jan 2023 09:35:06 +0100 Subject: [PATCH 42/47] fix(starters): :zap: added dockerfile --- starters/apps/base-baileys-mongo/Dockerfile | 4 +++- starters/apps/base-baileys-mysql/Dockerfile | 4 +++- starters/apps/base-meta-json/Dockerfile | 9 +++++++++ starters/apps/base-meta-memory/Dockerfile | 9 +++++++++ starters/apps/base-meta-mongo/Dockerfile | 9 +++++++++ starters/apps/base-meta-mysql/Dockerfile | 9 +++++++++ starters/apps/base-twilio-json/Dockerfile | 9 +++++++++ starters/apps/base-twilio-memory/Dockerfile | 9 +++++++++ starters/apps/base-twilio-mongo/Dockerfile | 9 +++++++++ starters/apps/base-twilio-mysql/Dockerfile | 9 +++++++++ 10 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 starters/apps/base-meta-json/Dockerfile create mode 100644 starters/apps/base-meta-memory/Dockerfile create mode 100644 starters/apps/base-meta-mongo/Dockerfile create mode 100644 starters/apps/base-meta-mysql/Dockerfile create mode 100644 starters/apps/base-twilio-json/Dockerfile create mode 100644 starters/apps/base-twilio-memory/Dockerfile create mode 100644 starters/apps/base-twilio-mongo/Dockerfile create mode 100644 starters/apps/base-twilio-mysql/Dockerfile diff --git a/starters/apps/base-baileys-mongo/Dockerfile b/starters/apps/base-baileys-mongo/Dockerfile index 14b07b2..7fb6d5d 100644 --- a/starters/apps/base-baileys-mongo/Dockerfile +++ b/starters/apps/base-baileys-mongo/Dockerfile @@ -1,7 +1,9 @@ -FROM node:lts-bullseye as bot +FROM node:18-bullseye as bot WORKDIR /app COPY package*.json ./ RUN npm i COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL ARG PORT CMD ["npm", "start"] diff --git a/starters/apps/base-baileys-mysql/Dockerfile b/starters/apps/base-baileys-mysql/Dockerfile index 14b07b2..7fb6d5d 100644 --- a/starters/apps/base-baileys-mysql/Dockerfile +++ b/starters/apps/base-baileys-mysql/Dockerfile @@ -1,7 +1,9 @@ -FROM node:lts-bullseye as bot +FROM node:18-bullseye as bot WORKDIR /app COPY package*.json ./ RUN npm i COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL ARG PORT CMD ["npm", "start"] diff --git a/starters/apps/base-meta-json/Dockerfile b/starters/apps/base-meta-json/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-meta-json/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-meta-memory/Dockerfile b/starters/apps/base-meta-memory/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-meta-memory/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-meta-mongo/Dockerfile b/starters/apps/base-meta-mongo/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-meta-mongo/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-meta-mysql/Dockerfile b/starters/apps/base-meta-mysql/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-meta-mysql/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-twilio-json/Dockerfile b/starters/apps/base-twilio-json/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-twilio-json/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-twilio-memory/Dockerfile b/starters/apps/base-twilio-memory/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-twilio-memory/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-twilio-mongo/Dockerfile b/starters/apps/base-twilio-mongo/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-twilio-mongo/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] diff --git a/starters/apps/base-twilio-mysql/Dockerfile b/starters/apps/base-twilio-mysql/Dockerfile new file mode 100644 index 0000000..7fb6d5d --- /dev/null +++ b/starters/apps/base-twilio-mysql/Dockerfile @@ -0,0 +1,9 @@ +FROM node:18-bullseye as bot +WORKDIR /app +COPY package*.json ./ +RUN npm i +COPY . . +ARG RAILWAY_STATIC_URL +ARG PUBLIC_URL +ARG PORT +CMD ["npm", "start"] From a1ce98bdc884e59d104456c5883250024492fa63 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Thu, 12 Jan 2023 10:31:41 +0100 Subject: [PATCH 43/47] docs: :art: more doc --- packages/docs/src/routes/docs/flows/index.mdx | 138 +++++++++++++++++- 1 file changed, 137 insertions(+), 1 deletion(-) diff --git a/packages/docs/src/routes/docs/flows/index.mdx b/packages/docs/src/routes/docs/flows/index.mdx index 027c793..7a2171c 100644 --- a/packages/docs/src/routes/docs/flows/index.mdx +++ b/packages/docs/src/routes/docs/flows/index.mdx @@ -1,6 +1,6 @@ import Navigation from '../../../components/widgets/Navigation' -# Flow (Flujos) +# Flow Los flujos hace referencia al hecho de construir un flujo de conversion. Esto es un flow podemos observar que estan presente dos metodos importantes **addKeyword** y el **addAnswer**. @@ -23,6 +23,142 @@ const flowPrincipal = addKeyword(['hola', 'alo']) --- +## addKeyword() + +Esta funcion se utliza para iniciar un flujo de conversion.
Recibe un `string` o un `array` +de string `['hola','buenas']`. + +**Opciones** + +- sensitive: Sensible a mayusculas y minusculas por defecto `false` + +```js +const { addKeyword } = require('@bot-whatsapp/bot') + +const flowString = addKeyword('hola') + +const flowArray = addKeyword(['hola', 'alo']) + +const flowSensitive = addKeyword(['hola', 'alo'], { + sensitive: true, +}) +``` + +--- + +## addAnswer() + +Esta funcion se utliza para responder un mensaje despues del `addKeyword()` + +**Opciones** + +- delay: 0 (milisegundos) +- media: url de imagen +- buttons: array `[{body:'Boton1'}, {body:'Boton2'}, {body:'Boton3'}]` +- capture: false (para esperar respuesta) +- child: Objecto tipo flujo o arra de flujos hijos + +```js +const { addKeyword } = require('@bot-whatsapp/bot') + +const flowString = addKeyword('hola').addAnswer( + 'Este mensaje se enviara 1 segundo despues', + { + delay: 1000, + } +) + +const flowString = addKeyword('hola').addAnswer( + 'Este mensaje envia una imagen', + { + media: 'https://i.imgur.com/0HpzsEm.png', + } +) + +const flowString = addKeyword('hola').addAnswer( + 'Este mensaje envia tres botones', + { + buttons: [ + { body: 'Boton 1' }, + { body: 'Boton 2' }, + { body: 'Boton 3' }, + ], + } +) + +const flowString = addKeyword('hola').addAnswer( + 'Este mensaje espera una respueta del usuario', + { + capture: true, + } +) +``` + +--- + +## ctx + +Este argumento se utiliza para obtener el contexto de la conversación + +```js +const { addKeyword } = require('@bot-whatsapp/bot') + +const flowString = addKeyword('hola').addAnswer( + 'Indica cual es tu email', + null, + (ctx) => { + console.log('👉 Informacion del contexto: ', ctx) + } +) +``` + +--- + +## fallBack() + +Esta funcion se utliza para volver a enviar el ultimo mensaje abajo un ejemplo. +En el ejemplo de abajo esperamos que el usuario ingrese un mensaje que contenga `@` sino contiene +se repetira el mensaje `Indica cual es tu email` + +```js +const { addKeyword } = require('@bot-whatsapp/bot') + +const flowString = addKeyword('hola').addAnswer( + 'Indica cual es tu email', + null, + (ctx, { fallBack }) => { + if (!ctx.body.includes('@')) return fallBack() + } +) +``` + +--- + +## flowDynamic() + +Esta funcion se utliza para devolver mensajes dinamicos que pueden venir de una API o Base de datos. +La funcion recibe un array que debe contener la siguiente estrucutura: + +`[{body:'Mensaje}, {body:'Mensaje2}]` + +```js +const { addKeyword } = require('@bot-whatsapp/bot') + +const flowString = addKeyword('hola') + .addAnswer('Indica cual es tu email', null, async (ctx, {flowDynamic}) => { + const mensajesDB = () => { + const categories = db.find(...) + const mapDatos = categories.map((c) => ({body:c.name})) + return mapDatos + } + await flowDynamic(mensajesDB()) + }) + + +``` + +--- + Date: Thu, 12 Jan 2023 11:43:58 +0100 Subject: [PATCH 44/47] refactor(bot): :sparkles: async callbacks --- packages/bot/core/core.class.js | 72 +++++++++++++++++++-------------- packages/bot/utils/queue.js | 8 ++-- 2 files changed, 46 insertions(+), 34 deletions(-) diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index 4243713..e084b20 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -8,6 +8,10 @@ const { createWriteStream } = require('fs') const logger = new Console({ stdout: createWriteStream(`${process.cwd()}/core.class.log`), }) + +const QueuePrincipal = new Queue() +const QueueDynamic = new Queue() + /** * [ ] Escuchar eventos del provider asegurarte que los provider emitan eventos * [ ] Guardar historial en db @@ -84,17 +88,33 @@ class CoreClass { this.databaseClass.save(ctxByNumber) } + // 📄 Esta funcion se encarga de enviar un array de mensajes dentro de este ctx + const sendFlow = async (messageToSend, numberOrId) => { + const queue = [] + for (const ctxMessage of messageToSend) { + const delayMs = ctxMessage?.options?.delay || 0 + if (delayMs) await delay(delayMs) + QueuePrincipal.enqueue(() => + Promise.all([ + this.sendProviderAndSave(numberOrId, ctxMessage), + cbEveryCtx(ctxMessage?.ref), + ]) + ) + } + return Promise.all(queue) + } + // 📄 [options: fallBack]: esta funcion se encarga de repetir el ultimo mensaje const fallBack = () => { fallBackFlag = true msgToSend = this.flowClass.find(refToContinue?.keyword, true) || [] - this.sendFlow(msgToSend, from) + sendFlow(msgToSend, from) return refToContinue } // 📄 [options: flowDynamic]: esta funcion se encarga de responder un array de respuesta esta limitado a 5 mensajes // para evitar bloque de whatsapp - const flowDynamic = (listMsg = [], optListMsg = { limit: 3 }) => { + const flowDynamic = async (listMsg = [], optListMsg = { limit: 3 }) => { if (!Array.isArray(listMsg)) throw new Error('Esto debe ser un ARRAY') @@ -108,26 +128,29 @@ class CoreClass { }) ) .slice(0, optListMsg.limit) - msgToSend = parseListMsg - this.sendFlow(msgToSend, from) + for (const msg of parseListMsg) { + await this.sendProviderAndSave(from, msg) + } return } // 📄 Se encarga de revisar si el contexto del mensaje tiene callback y ejecutarlo - const cbEveryCtx = (inRef) => { - this.flowClass.allCallbacks[inRef](messageCtxInComming, { + const cbEveryCtx = async (inRef) => { + if (!this.flowClass.allCallbacks[inRef]) return Promise.resolve() + return this.flowClass.allCallbacks[inRef](messageCtxInComming, { fallBack, flowDynamic, }) } // 📄 [options: callback]: Si se tiene un callback se ejecuta - if (!fallBackFlag) { - if (prevMsg?.options?.capture) cbEveryCtx(prevMsg?.ref) - for (const ite of this.flowClass.find(body)) { - if (!ite?.options?.capture) cbEveryCtx(ite?.ref) - } - } + //TODO AQUI + // if (!fallBackFlag) { + // if (prevMsg?.options?.capture) cbEveryCtx(prevMsg?.ref) + // for (const ite of this.flowClass.find(body)) { + // if (!ite?.options?.capture) cbEveryCtx(ite?.ref) + // } + // } // 📄🤘(tiene return) [options: nested(array)]: Si se tiene flujos hijos los implementa if (!fallBackFlag && prevMsg?.options?.nested?.length) { @@ -138,11 +161,12 @@ class CoreClass { msgToSend = this.flowClass.find(body, false, flowStandalone) || [] - for (const ite of msgToSend) { - cbEveryCtx(ite?.ref) - } + // //TODO AQUI + // for (const ite of msgToSend) { + // cbEveryCtx(ite?.ref) + // } - this.sendFlow(msgToSend, from) + sendFlow(msgToSend, from) return } @@ -153,13 +177,13 @@ class CoreClass { if (['string', 'boolean'].includes(typeCapture) && valueCapture) { msgToSend = this.flowClass.find(refToContinue?.ref, true) || [] - this.sendFlow(msgToSend, from) + sendFlow(msgToSend, from) return } } msgToSend = this.flowClass.find(body) || [] - this.sendFlow(msgToSend, from) + sendFlow(msgToSend, from) } /** @@ -176,18 +200,6 @@ class CoreClass { ]) } - sendFlow = async (messageToSend, numberOrId) => { - const queue = [] - for (const ctxMessage of messageToSend) { - const delayMs = ctxMessage?.options?.delay || 0 - if (delayMs) await delay(delayMs) - Queue.enqueue(() => - this.sendProviderAndSave(numberOrId, ctxMessage) - ) - } - return Promise.all(queue) - } - /** * @private * @param {*} message diff --git a/packages/bot/utils/queue.js b/packages/bot/utils/queue.js index 1f610e9..873024a 100644 --- a/packages/bot/utils/queue.js +++ b/packages/bot/utils/queue.js @@ -1,8 +1,8 @@ class Queue { - static queue = [] - static pendingPromise = false + queue = [] + pendingPromise = false - static enqueue(promise) { + enqueue(promise) { return new Promise((resolve, reject) => { this.queue.push({ promise, @@ -13,7 +13,7 @@ class Queue { }) } - static dequeue() { + dequeue() { if (this.workingOnPromise) { return false } From 8a1bdc58785950493cc2683b0ecb0fa881dc683f Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Thu, 12 Jan 2023 16:35:43 +0100 Subject: [PATCH 45/47] refactor(bot): :fire: fallback --- packages/bot/core/core.class.js | 25 +++++++++++++++++++------ packages/bot/rollup-bot.config.js | 1 + 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index e084b20..c0186d8 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -10,7 +10,6 @@ const logger = new Console({ }) const QueuePrincipal = new Queue() -const QueueDynamic = new Queue() /** * [ ] Escuchar eventos del provider asegurarte que los provider emitan eventos @@ -92,12 +91,13 @@ class CoreClass { const sendFlow = async (messageToSend, numberOrId) => { const queue = [] for (const ctxMessage of messageToSend) { + console.log('🙌 ', ctxMessage.answer) const delayMs = ctxMessage?.options?.delay || 0 if (delayMs) await delay(delayMs) QueuePrincipal.enqueue(() => Promise.all([ this.sendProviderAndSave(numberOrId, ctxMessage), - cbEveryCtx(ctxMessage?.ref), + resolveCbEveryCtx(ctxMessage), ]) ) } @@ -105,19 +105,23 @@ class CoreClass { } // 📄 [options: fallBack]: esta funcion se encarga de repetir el ultimo mensaje - const fallBack = () => { + const fallBack = async () => { fallBackFlag = true - msgToSend = this.flowClass.find(refToContinue?.keyword, true) || [] - sendFlow(msgToSend, from) + await this.sendProviderAndSave(from, refToContinue) + QueuePrincipal.queue = [] return refToContinue } // 📄 [options: flowDynamic]: esta funcion se encarga de responder un array de respuesta esta limitado a 5 mensajes // para evitar bloque de whatsapp - const flowDynamic = async (listMsg = [], optListMsg = { limit: 3 }) => { + const flowDynamic = async ( + listMsg = [], + optListMsg = { limit: 5, fallback: false } + ) => { if (!Array.isArray(listMsg)) throw new Error('Esto debe ser un ARRAY') + fallBackFlag = optListMsg.fallback const parseListMsg = listMsg .map(({ body }, index) => toCtx({ @@ -134,6 +138,13 @@ class CoreClass { return } + // 📄 Se encarga de revisar si el contexto del mensaje tiene callback o fallback + const resolveCbEveryCtx = async (ctxMessage) => { + if (prevMsg?.options?.capture) return cbEveryCtx(prevMsg?.ref) + if (!ctxMessage?.options?.capture) + return await cbEveryCtx(ctxMessage?.ref) + } + // 📄 Se encarga de revisar si el contexto del mensaje tiene callback y ejecutarlo const cbEveryCtx = async (inRef) => { if (!this.flowClass.allCallbacks[inRef]) return Promise.resolve() @@ -143,6 +154,8 @@ class CoreClass { }) } + if (prevMsg?.ref) resolveCbEveryCtx(prevMsg) + // 📄 [options: callback]: Si se tiene un callback se ejecuta //TODO AQUI // if (!fallBackFlag) { diff --git a/packages/bot/rollup-bot.config.js b/packages/bot/rollup-bot.config.js index f8ffa2a..36bbb87 100644 --- a/packages/bot/rollup-bot.config.js +++ b/packages/bot/rollup-bot.config.js @@ -10,6 +10,7 @@ module.exports = [ banner: banner['banner.output'].join(''), file: join(__dirname, 'lib', 'bundle.bot.cjs'), format: 'cjs', + sourcemap: true, }, plugins: [commonjs(), nodeResolve()], }, From ee30df73b879f4bf712b7e51f09e44ac943bea7f Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Thu, 12 Jan 2023 21:04:04 +0100 Subject: [PATCH 46/47] ci(cli): :zap: fix --- packages/bot/core/core.class.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index c0186d8..79d996b 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -91,7 +91,6 @@ class CoreClass { const sendFlow = async (messageToSend, numberOrId) => { const queue = [] for (const ctxMessage of messageToSend) { - console.log('🙌 ', ctxMessage.answer) const delayMs = ctxMessage?.options?.delay || 0 if (delayMs) await delay(delayMs) QueuePrincipal.enqueue(() => From 8f27d34081a899dc1aa7de6afeb5a1184d7a8fd3 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Thu, 12 Jan 2023 21:04:44 +0100 Subject: [PATCH 47/47] ci(cli): :zap: fix --- .github/workflows/releases.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index d1c2e8f..d587c64 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -77,4 +77,3 @@ jobs: uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: 'chore(version): launch release 🚀 "${{ steps.package-version.outputs.current-version}}"' - branch: dev