From fee7c2e967b7fe8835b5acc243c19f7713acfbe7 Mon Sep 17 00:00:00 2001 From: Juan Daniel Date: Mon, 12 Dec 2022 13:12:29 +0100 Subject: [PATCH 01/20] feat(provider): new provider - venon:zap: configuracion inicial provider venom --- .gitignore | 1 + packages/provider/src/venom/index.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 packages/provider/src/venom/index.js diff --git a/.gitignore b/.gitignore index bb10ef4..be22be9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /packages/*/node_modules /packages/*/dist /packages/*/docs/dist +/packages/provider/src/venom/tokens session.json chats/* !chats/.gitkeep diff --git a/packages/provider/src/venom/index.js b/packages/provider/src/venom/index.js new file mode 100644 index 0000000..addd7f4 --- /dev/null +++ b/packages/provider/src/venom/index.js @@ -0,0 +1,25 @@ +const { ProviderClass } = require('@bot-whatsapp/bot') +const venom = require('venom-bot') +const { cleanNumber } = require('../web-whatsapp/utils') + +class VenomProvider extends ProviderClass { + constructor() { + super() + this.client + venom + .create({ + session: 'session-1', //nombre de la sesion o id + multidevice: true, // Para el funcinamiento de multiusuarios.(default: true) + }) + .then((client) => (this.client = client)) + .catch((erro) => { + console.log(erro) + }) + } + + sendMessage = async (number, message) => { + const numero = cleanNumber(number) + return this.client.sendText(numero, message) + } +} + From 28d88c282c6fed4e4db3d9139051db754308700e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 12 Dec 2022 17:13:21 +0000 Subject: [PATCH 02/20] ci(version): :zap: automatic - "${date}" updated versions every packages --- packages/bot/package.json | 2 +- packages/cli/package.json | 2 +- packages/create-bot-whatsapp/package.json | 2 +- packages/database/package.json | 2 +- packages/provider/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/bot/package.json b/packages/bot/package.json index 6d687e0..88a782b 100644 --- a/packages/bot/package.json +++ b/packages/bot/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/bot", - "version": "0.0.20-alpha.0", + "version": "0.0.21-alpha.0", "description": "", "main": "./lib/bundle.bot.cjs", "scripts": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 14145f5..50aa41f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/cli", - "version": "0.0.27-alpha.0", + "version": "0.0.28-alpha.0", "description": "", "main": "index.js", "devDependencies": { diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json index ad30fc1..9935c59 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.38-alpha.0", + "version": "0.0.39-alpha.0", "description": "", "main": "./lib/bundle.create-bot-whatsapp.cjs", "files": [ diff --git a/packages/database/package.json b/packages/database/package.json index 9dae5f2..6dd7def 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/database", - "version": "0.0.19-alpha.0", + "version": "0.0.20-alpha.0", "description": "Esto es el conector a mysql, pg, mongo", "main": "./lib/mock/index.cjs", "keywords": [], diff --git a/packages/provider/package.json b/packages/provider/package.json index 220e409..266805c 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/provider", - "version": "0.0.25-alpha.0", + "version": "0.0.26-alpha.0", "description": "Esto es el conector a Twilio, Meta, etc...", "main": "./lib/mock/index.cjs", "keywords": [], From 0a4e1e052aaa39b9a5ed6fb5fd14422e79301234 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Mon, 12 Dec 2022 18:14:32 +0100 Subject: [PATCH 03/20] chore(release): 0.1.2 --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe8fec6..9fd0fa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ 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.2](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.1...v0.1.2) (2022-12-12) + + +### Bug Fixes + +* **cli:** :art: starters ([79e2318](https://github.com/leifermendez/bot-whatsapp/commit/79e231825613f33bfec2ae8e93139f885c199c7a)) +* **cli:** :art: starters ([87ba43a](https://github.com/leifermendez/bot-whatsapp/commit/87ba43a5535be0893a7701a3b6a085ee5d29e7c5)) +* fix dependencias ([61d0324](https://github.com/leifermendez/bot-whatsapp/commit/61d032426119341187a470035d49b8b252ca46cd)) + ### [0.1.1](https://github.com/leifermendez/bot-whatsapp/compare/v0.3.0...v0.1.1) (2022-12-12) ## 0.3.0 (2022-12-12) diff --git a/package.json b/package.json index db411f4..8a8ebe0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bot-whatsapp/root", - "version": "0.1.1", + "version": "0.1.2", "description": "Bot de wahtsapp open source para MVP o pequeños negocios", "main": "app.js", "private": true, From b97d8ba8f155c6822d0e13a2ef2744bbafea5a5e Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 12 Dec 2022 12:27:33 -0600 Subject: [PATCH 04/20] docs: pagina de entrada --- packages/docs/src/routes/index.tsx | 300 +++++++++++++++++------------ 1 file changed, 182 insertions(+), 118 deletions(-) diff --git a/packages/docs/src/routes/index.tsx b/packages/docs/src/routes/index.tsx index 01a9d74..6ddf868 100644 --- a/packages/docs/src/routes/index.tsx +++ b/packages/docs/src/routes/index.tsx @@ -4,143 +4,207 @@ import type { DocumentHead } from '@builder.io/qwik-city' export default component$(() => { return ( <> -

Welcome to BotWhatsapp Docs Starter

+

Bienvenido,

+

+ Un robot (bot) de Whatsapp es un programa que reconoce palabras + clave en los mensajes que entran, y contesta con respuestas + pre-programadas, facilitando así el dar información a posibles + clientes desde tu cuenta de Whatsapp automáticamente. +

+

+ Este bot esta programado en Javascript y usa NodeJS y es{' '} + + Open Source + + . +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticasEstatus
Dialogflow + + ✅ + +
MySQL + + ✅ + +
JSON File + + ✅ + +
QR Scan (route) + + ✅ + +
Easy deploy heroku + + ✅ + +
Buttons + + ✅ + + + ℹ️ + {' '} + (No funciona en multi-device) +
Send Voice Note + + ✅ + +
Add support ubuntu/linux + + ✅ + +
+ +

Requisitos

    -
  • This homepage uses a layout without a menu.
  • +
  • Node v14 o superior
  • - The - Documentation - - {' '} - pages use multiple nested layouts, one of them providing - a left menu. - + VSCode (Editor de codigo){' '} + + Descargar +
  • - Check out the src/routes directory to get - started. + MySql (opcional) solo aplica si vas a usar el modo 'mysql'{' '} + + sql-bot.sql migración +
  • - Add integrations with npm run qwik add. -
  • -
  • - More info about development in README.md -
  • -
  • - Qwik City - is the meta-framework for Qwik + Dialogflow (opcional) solo aplica si vas a usar el modo + 'dialogflow'
-

Commands

- - - - - - - - - - - - - - - - - - -
- npm run dev - Start the dev server and watch for changes.
- npm run preview - Production build and start preview server.
- npm run build - Production build.
- npm run qwik add - Select an integration to add.
- -

Add Integrations

- - - - - - - - - - - - - - - - - - -
- npm run qwik add cloudflare-pages - - - Cloudflare Pages Server - -
- npm run qwik add express - - - Nodejs Express Server - -
- npm run qwik add netlify-edge - - - Netlify Edge Functions - -
- npm run qwik add static - - - Static Site Generation (SSG) - -
- -

Community

- +

Instalación

  • - Questions or just want to say hi? - - Chat on discord! - + Abre VSCode y muevete al directorio en donde queres insralar + el bot. +
  • +
  • Ejecuta este comando: npm create bot-whatsapp@latest
  • +
  • Contesta que SI queres crear un bot nuevo (Y)
  • +
  • + Selecciona con las flechas (arriba y abajo) la librería que + quieres usar para el bot, cuando estes sobre la opción que + quieres, oprime la barra de espacio y luego la tecla "Enter"
  • - Follow - - @QwikDev - - on Twitter + De igual forma selecciona la base de daros que quieres usar.
  • - Open issues and contribute on - - GitHub - + Cambiate al directorio que se creo dependiendo de la base de + datos que hayas seleccionado, si seleccionaste "Memory" + sería "cd base-wweb-memory"
  • - Watch - - Presentations, Podcasts, Videos, etc. - + Ya estando en el nuevo subdirectorio, ejecuta el comando + "npm install" y espera a que se instalen las dependencias.
  • +
  • + Una vez que termine la instalación ejecuta el comando "npm + start"y espera a que te mande el mensaje de que necesitas + escanear el código QR, para esto ve al directorio en el que + se instaló y busca el archivo "qr.svg" y abrelo, te debe de + mostrsr un código QR que tienes que escanear en el Whatsapp + que quieres ligar con el bot, para esto ve a tu Whatsapp, + haz clic en los tres botones de arriba a la derecha y entra + en "Linked devices", y luego en el botón que dice "LINK + DEVICE", esto va a abrir la camara para que escanes el + código. +
  • +
  • + Una vez ligado el Whatsapp vas a ver el mensaje de + "Proveedor conectado y listo". +
  • +
  • + Desde OTRO celular mandas un mensaje al numero del Whatsapp + que acabas de ligar al bot con la palabra "Hola" y LISTO. +
  • +
  • Debes de recibir una respuesta automática del bot.
) From 639e2defa7e5d148fbc2d5c733c7e1f77de4a9d8 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 12 Dec 2022 12:41:01 -0600 Subject: [PATCH 05/20] docs: cambios en la documentacion --- packages/docs/src/routes/index.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/docs/src/routes/index.tsx b/packages/docs/src/routes/index.tsx index 6ddf868..ce5f98a 100644 --- a/packages/docs/src/routes/index.tsx +++ b/packages/docs/src/routes/index.tsx @@ -4,7 +4,7 @@ import type { DocumentHead } from '@builder.io/qwik-city' export default component$(() => { return ( <> -

Bienvenido,

+

Bienvenido

Un robot (bot) de Whatsapp es un programa que reconoce palabras @@ -19,6 +19,15 @@ export default component$(() => { .

+

+ Está programado de tal forma que se pueden usar varias librerías + (hasta ahora whatsapp-web.js, twilio y Venom) y se puden agregar + más. +

+

+ Si se quere cambiar la librería que se está usando, esto se + puede hacer con solo cambiar unas lineas en el código. +

From 55d12810d91bf1e3c429630c3438dff4eafacd5b Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 12 Dec 2022 12:43:45 -0600 Subject: [PATCH 06/20] docs: cambios en docs --- packages/docs/src/routes/index.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/docs/src/routes/index.tsx b/packages/docs/src/routes/index.tsx index ce5f98a..4ae7f96 100644 --- a/packages/docs/src/routes/index.tsx +++ b/packages/docs/src/routes/index.tsx @@ -37,6 +37,18 @@ export default component$(() => { + + + +
Menus y Submenus + + ✅ + +
Dialogflow From 60fdbf3d3cd62819e618853a9dc2fd0e23fe8752 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 12 Dec 2022 14:42:37 -0600 Subject: [PATCH 07/20] fix: actualizar ejemplo app.js Se agregan flujos secundarios al app,js de ejemplo. --- starters/apps/base-twilio-memory/app.js | 61 +++++++++++++++++++++++-- starters/apps/base-twilio-mongo/app.js | 61 +++++++++++++++++++++++-- starters/apps/base-twilio-mysql/app.js | 61 +++++++++++++++++++++++-- starters/apps/base-wweb-memory/app.js | 61 +++++++++++++++++++++++-- starters/apps/base-wweb-mongo/app.js | 61 +++++++++++++++++++++++-- starters/apps/base-wweb-mysql/app.js | 61 +++++++++++++++++++++++-- 6 files changed, 348 insertions(+), 18 deletions(-) diff --git a/starters/apps/base-twilio-memory/app.js b/starters/apps/base-twilio-memory/app.js index 61a4bb0..3f4d57c 100644 --- a/starters/apps/base-twilio-memory/app.js +++ b/starters/apps/base-twilio-memory/app.js @@ -1,23 +1,78 @@ +global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, + addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') -const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) - .addAnswer('Bienvenido a mi tienda') +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + 'Manda:\n*2* \n o \n*zapatos2*\n 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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + 'Manda:\n*2*\n o \n*bolsos2*\npara 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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + 'Para continuar escribe:\n*Zapatos*\n o \n*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) - createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-twilio-mongo/app.js b/starters/apps/base-twilio-mongo/app.js index 61a4bb0..3f4d57c 100644 --- a/starters/apps/base-twilio-mongo/app.js +++ b/starters/apps/base-twilio-mongo/app.js @@ -1,23 +1,78 @@ +global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, + addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') -const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) - .addAnswer('Bienvenido a mi tienda') +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + 'Manda:\n*2* \n o \n*zapatos2*\n 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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + 'Manda:\n*2*\n o \n*bolsos2*\npara 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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + 'Para continuar escribe:\n*Zapatos*\n o \n*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) - createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-twilio-mysql/app.js b/starters/apps/base-twilio-mysql/app.js index 61a4bb0..3f4d57c 100644 --- a/starters/apps/base-twilio-mysql/app.js +++ b/starters/apps/base-twilio-mysql/app.js @@ -1,23 +1,78 @@ +global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, + addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') -const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) - .addAnswer('Bienvenido a mi tienda') +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + 'Manda:\n*2* \n o \n*zapatos2*\n 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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + 'Manda:\n*2*\n o \n*bolsos2*\npara 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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + 'Para continuar escribe:\n*Zapatos*\n o \n*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) - createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-wweb-memory/app.js b/starters/apps/base-wweb-memory/app.js index 61a4bb0..3f4d57c 100644 --- a/starters/apps/base-wweb-memory/app.js +++ b/starters/apps/base-wweb-memory/app.js @@ -1,23 +1,78 @@ +global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, + addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') -const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) - .addAnswer('Bienvenido a mi tienda') +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + 'Manda:\n*2* \n o \n*zapatos2*\n 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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + 'Manda:\n*2*\n o \n*bolsos2*\npara 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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + 'Para continuar escribe:\n*Zapatos*\n o \n*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) - createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-wweb-mongo/app.js b/starters/apps/base-wweb-mongo/app.js index 61a4bb0..3f4d57c 100644 --- a/starters/apps/base-wweb-mongo/app.js +++ b/starters/apps/base-wweb-mongo/app.js @@ -1,23 +1,78 @@ +global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, + addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') -const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) - .addAnswer('Bienvenido a mi tienda') +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + 'Manda:\n*2* \n o \n*zapatos2*\n 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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + 'Manda:\n*2*\n o \n*bolsos2*\npara 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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + 'Para continuar escribe:\n*Zapatos*\n o \n*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) - createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-wweb-mysql/app.js b/starters/apps/base-wweb-mysql/app.js index 61a4bb0..3f4d57c 100644 --- a/starters/apps/base-wweb-mysql/app.js +++ b/starters/apps/base-wweb-mysql/app.js @@ -1,23 +1,78 @@ +global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, + addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') -const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) - .addAnswer('Bienvenido a mi tienda') +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + 'Manda:\n*2* \n o \n*zapatos2*\n 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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + 'Manda:\n*2*\n o \n*bolsos2*\npara 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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + 'Para continuar escribe:\n*Zapatos*\n o \n*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) - createBot({ flow: adapterFlow, provider: adapterProvider, From 17466138ddcef60a23a0c87911f22045f26d3233 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Mon, 12 Dec 2022 16:15:49 -0600 Subject: [PATCH 08/20] fix: actualizar app.js de ejemplo Corrige saltos de linea inecesarios. --- starters/apps/base-twilio-memory/app.js | 9 ++++----- starters/apps/base-twilio-mongo/app.js | 9 ++++----- starters/apps/base-twilio-mysql/app.js | 9 ++++----- starters/apps/base-wweb-memory/app.js | 9 ++++----- starters/apps/base-wweb-mongo/app.js | 9 ++++----- starters/apps/base-wweb-mysql/app.js | 9 ++++----- 6 files changed, 24 insertions(+), 30 deletions(-) diff --git a/starters/apps/base-twilio-memory/app.js b/starters/apps/base-twilio-memory/app.js index 3f4d57c..3717be9 100644 --- a/starters/apps/base-twilio-memory/app.js +++ b/starters/apps/base-twilio-memory/app.js @@ -1,4 +1,3 @@ -global.nombre = [] const { createBot, createProvider, @@ -22,11 +21,11 @@ const flowZapatos2 = addKeyword(['zapatos2', '2']) .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') .addAnswer('y algunas otras cosas.') -const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( - 'Manda:\n*2* \n o \n*zapatos2*\n para mas información', + ['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -40,7 +39,7 @@ const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) .addAnswer('🙌 Veo que elegiste bolsos') .addAnswer('Tengo muchos bolsos...bla bla') .addAnswer( - 'Manda:\n*2*\n o \n*bolsos2*\npara mas información.', + ['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -58,7 +57,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) .addAnswer( - 'Para continuar escribe:\n*Zapatos*\n o \n*Bolsos*', + ['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') diff --git a/starters/apps/base-twilio-mongo/app.js b/starters/apps/base-twilio-mongo/app.js index 3f4d57c..3717be9 100644 --- a/starters/apps/base-twilio-mongo/app.js +++ b/starters/apps/base-twilio-mongo/app.js @@ -1,4 +1,3 @@ -global.nombre = [] const { createBot, createProvider, @@ -22,11 +21,11 @@ const flowZapatos2 = addKeyword(['zapatos2', '2']) .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') .addAnswer('y algunas otras cosas.') -const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( - 'Manda:\n*2* \n o \n*zapatos2*\n para mas información', + ['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -40,7 +39,7 @@ const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) .addAnswer('🙌 Veo que elegiste bolsos') .addAnswer('Tengo muchos bolsos...bla bla') .addAnswer( - 'Manda:\n*2*\n o \n*bolsos2*\npara mas información.', + ['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -58,7 +57,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) .addAnswer( - 'Para continuar escribe:\n*Zapatos*\n o \n*Bolsos*', + ['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') diff --git a/starters/apps/base-twilio-mysql/app.js b/starters/apps/base-twilio-mysql/app.js index 3f4d57c..3717be9 100644 --- a/starters/apps/base-twilio-mysql/app.js +++ b/starters/apps/base-twilio-mysql/app.js @@ -1,4 +1,3 @@ -global.nombre = [] const { createBot, createProvider, @@ -22,11 +21,11 @@ const flowZapatos2 = addKeyword(['zapatos2', '2']) .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') .addAnswer('y algunas otras cosas.') -const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( - 'Manda:\n*2* \n o \n*zapatos2*\n para mas información', + ['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -40,7 +39,7 @@ const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) .addAnswer('🙌 Veo que elegiste bolsos') .addAnswer('Tengo muchos bolsos...bla bla') .addAnswer( - 'Manda:\n*2*\n o \n*bolsos2*\npara mas información.', + ['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -58,7 +57,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) .addAnswer( - 'Para continuar escribe:\n*Zapatos*\n o \n*Bolsos*', + ['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') diff --git a/starters/apps/base-wweb-memory/app.js b/starters/apps/base-wweb-memory/app.js index 3f4d57c..3717be9 100644 --- a/starters/apps/base-wweb-memory/app.js +++ b/starters/apps/base-wweb-memory/app.js @@ -1,4 +1,3 @@ -global.nombre = [] const { createBot, createProvider, @@ -22,11 +21,11 @@ const flowZapatos2 = addKeyword(['zapatos2', '2']) .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') .addAnswer('y algunas otras cosas.') -const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( - 'Manda:\n*2* \n o \n*zapatos2*\n para mas información', + ['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -40,7 +39,7 @@ const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) .addAnswer('🙌 Veo que elegiste bolsos') .addAnswer('Tengo muchos bolsos...bla bla') .addAnswer( - 'Manda:\n*2*\n o \n*bolsos2*\npara mas información.', + ['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -58,7 +57,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) .addAnswer( - 'Para continuar escribe:\n*Zapatos*\n o \n*Bolsos*', + ['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') diff --git a/starters/apps/base-wweb-mongo/app.js b/starters/apps/base-wweb-mongo/app.js index 3f4d57c..3717be9 100644 --- a/starters/apps/base-wweb-mongo/app.js +++ b/starters/apps/base-wweb-mongo/app.js @@ -1,4 +1,3 @@ -global.nombre = [] const { createBot, createProvider, @@ -22,11 +21,11 @@ const flowZapatos2 = addKeyword(['zapatos2', '2']) .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') .addAnswer('y algunas otras cosas.') -const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( - 'Manda:\n*2* \n o \n*zapatos2*\n para mas información', + ['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -40,7 +39,7 @@ const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) .addAnswer('🙌 Veo que elegiste bolsos') .addAnswer('Tengo muchos bolsos...bla bla') .addAnswer( - 'Manda:\n*2*\n o \n*bolsos2*\npara mas información.', + ['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -58,7 +57,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) .addAnswer( - 'Para continuar escribe:\n*Zapatos*\n o \n*Bolsos*', + ['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') diff --git a/starters/apps/base-wweb-mysql/app.js b/starters/apps/base-wweb-mysql/app.js index 3f4d57c..3717be9 100644 --- a/starters/apps/base-wweb-mysql/app.js +++ b/starters/apps/base-wweb-mysql/app.js @@ -1,4 +1,3 @@ -global.nombre = [] const { createBot, createProvider, @@ -22,11 +21,11 @@ const flowZapatos2 = addKeyword(['zapatos2', '2']) .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') .addAnswer('y algunas otras cosas.') -const flowZapatos = addKeyword(['zapatos', 'ZAPATOS', '4']) +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( - 'Manda:\n*2* \n o \n*zapatos2*\n para mas información', + ['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -40,7 +39,7 @@ const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) .addAnswer('🙌 Veo que elegiste bolsos') .addAnswer('Tengo muchos bolsos...bla bla') .addAnswer( - 'Manda:\n*2*\n o \n*bolsos2*\npara mas información.', + ['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') @@ -58,7 +57,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) .addAnswer('Como puedo ayudarte?') .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) .addAnswer( - 'Para continuar escribe:\n*Zapatos*\n o \n*Bolsos*', + ['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'], { capture: true }, (ctx) => { console.log('Aqui puedes ver más info del usuario...') From 23b2e8e439ecec24450bd5cf1a3820316e643434 Mon Sep 17 00:00:00 2001 From: Joseph VTX <1395609@senati.pe> Date: Mon, 12 Dec 2022 20:25:53 -0500 Subject: [PATCH 09/20] feat(provider): :zap: baileysProvider Baileys WebSocket - Fast --- packages/provider/src/baileys/index.js | 79 ++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 packages/provider/src/baileys/index.js diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js new file mode 100644 index 0000000..16d3e75 --- /dev/null +++ b/packages/provider/src/baileys/index.js @@ -0,0 +1,79 @@ +const { ProviderClass } = require('@bot-whatsapp/bot') +const PINO = require('pino') +const makeWASocket = require('@adiwajshing/baileys').default +const { useMultiFileAuthState } = require('@adiwajshing/baileys') + +class Baileys extends ProviderClass { + constructor() { + super() + this.sock + } + + async baileys() { + const { state, saveCreds } = await useMultiFileAuthState( + 'baileys_auth_whatsapp' + ) + + this.sock = await makeWASocket({ + printQRInTerminal: true, + auth: state, + logger: PINO({ level: 'error' }), + }) + + this.sock.ev.on( + 'connection.update', + ({ connection, lastDisconnect }) => { + if (lastDisconnect?.error) { + saveCreds() + + this.baileys() + } + + if (connection === 'open') { + console.log('Baileys is connected') + } + } + ) + } + + /** + * + * @param {string} number + * @param {string} message + * @example await sendMessage('+51925465621', 'Hello World') + */ + async sendMessage(number, message) { + const numberClean = number.replace('+', '') + await this.sock.sendMessage(`${numberClean}@c.us`, { text: message }) + } + + /** + * + * @param {string} number + * @param {string} message + * @example await sendMessage('+51925465621', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg') + */ + + async sendImage(number, imageUrl) { + const numberClean = number.replace('+', '') + await this.sock.sendMessage(`${numberClean}@c.us`, { + image: { url: imageUrl }, + }) + } + + /** + * + * @param {string} number + * @param {string} message + * @param {boolean} voiceNote optional + * @example await sendMessage('+51925465621', 'audio.mp3') + */ + + async sendAudio(number, audioUrl, voiceNote = false) { + const numberClean = number.replace('+', '') + await this.sock.sendMessage(`${numberClean}@c.us`, { + audio: { url: audioUrl }, + ptt: voiceNote, + }) + } +} From 01fe9ebc9a943f2aa086ee415153d1cccdb14ec0 Mon Sep 17 00:00:00 2001 From: Juan Daniel Date: Tue, 13 Dec 2022 14:39:51 +0100 Subject: [PATCH 10/20] feat(provider): :zap: added new venom provider --- packages/provider/package.json | 3 +- packages/provider/rollup-provider.config.js | 9 + packages/provider/src/venom/index.js | 51 +- packages/provider/src/venom/utils/utils.js | 14 + packages/provider/src/web-whatsapp/index.js | 1 + yarn.lock | 981 ++++++++++---------- 6 files changed, 585 insertions(+), 474 deletions(-) create mode 100644 packages/provider/src/venom/utils/utils.js diff --git a/packages/provider/package.json b/packages/provider/package.json index 4874821..614680e 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -16,6 +16,7 @@ "exports": { "./mock": "./lib/mock/index.cjs", "./twilio": "./lib/twilio/index.cjs", - "./web-whatsapp": "./lib/web-whatsapp/index.cjs" + "./web-whatsapp": "./lib/web-whatsapp/index.cjs", + "./venom": "./lib/venom/index.cjs" } } diff --git a/packages/provider/rollup-provider.config.js b/packages/provider/rollup-provider.config.js index 8a6adcf..2afef9f 100644 --- a/packages/provider/rollup-provider.config.js +++ b/packages/provider/rollup-provider.config.js @@ -30,4 +30,13 @@ module.exports = [ }, plugins: [commonjs()], }, + { + input: join(__dirname, 'src', 'venom', 'index.js'), + output: { + banner: banner['banner.output'].join(''), + file: join(__dirname, 'lib', 'venom', 'index.cjs'), + format: 'cjs', + }, + plugins: [commonjs()], + }, ] diff --git a/packages/provider/src/venom/index.js b/packages/provider/src/venom/index.js index addd7f4..b2b1b8a 100644 --- a/packages/provider/src/venom/index.js +++ b/packages/provider/src/venom/index.js @@ -1,25 +1,64 @@ const { ProviderClass } = require('@bot-whatsapp/bot') const venom = require('venom-bot') -const { cleanNumber } = require('../web-whatsapp/utils') +const { cleanNumber, generateImage } = require('./utils/utils') class VenomProvider extends ProviderClass { constructor() { super() - this.client + this.vendor venom - .create({ - session: 'session-1', //nombre de la sesion o id - multidevice: true, // Para el funcinamiento de multiusuarios.(default: true) + .create( + { + session: 'session-1', //nombre de la sesion o id + multidevice: true, + }, + (base64Qrimg) => this.generateQr(base64Qrimg) + ) + .then((client) => { + this.vendor = client + this.start() }) - .then((client) => (this.client = client)) .catch((erro) => { console.log(erro) }) } + generateQr = (qr) => { + this.emit('require_action', { + instructions: [ + `Debes escanear el QR Code para iniciar session reivsa qr.svg`, + `Recuerda que el QR se actualiza cada minuto `, + `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, + ], + }) + //generateImage(qr) + } + + start = () => { + this.vendor.onMessage((payload) => { + payload.from = cleanNumber(payload.from, true) + this.emit('message', payload) + }) + } + sendMessage = async (number, message) => { const numero = cleanNumber(number) return this.client.sendText(numero, message) } + + sendButtons = async (number, message, buttons = []) => { + const buttonMessage = new Buttons(message, buttons, '', '') + return this.vendor.sendMessage(number, buttonMessage) + } + + sendMessage = async (userId, message, { options }) => { + console.log('entramos') + const number = cleanNumber(userId) + if (options?.buttons?.length) + return this.sendButtons(number, message, options.buttons) + if (options?.media) return this.sendMedia(number, options.media) + return this.vendor.sendText(number, message) + } } +module.exports = VenomProvider diff --git a/packages/provider/src/venom/utils/utils.js b/packages/provider/src/venom/utils/utils.js new file mode 100644 index 0000000..9fd916d --- /dev/null +++ b/packages/provider/src/venom/utils/utils.js @@ -0,0 +1,14 @@ +const qr = require('qr-image') + +const cleanNumber = (number, full = false) => { + number = number.replace('@c.us', '') + number = !full ? `${number}@c.us` : `${number}` + return number +} + +const generateImage = (base64) => { + let qr_svg = qr.image(base64, { type: 'svg', margin: 4 }) + qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.svg`)) +} + +module.exports = { cleanNumber, generateImage } diff --git a/packages/provider/src/web-whatsapp/index.js b/packages/provider/src/web-whatsapp/index.js index 3437a38..dbfe403 100644 --- a/packages/provider/src/web-whatsapp/index.js +++ b/packages/provider/src/web-whatsapp/index.js @@ -31,6 +31,7 @@ class WebWhatsappProvider extends ProviderClass { for (const { event, func } of listEvents) { this.vendor.on(event, func) } + this.vendor.emit('preinit') this.vendor.initialize().catch((e) => { logger.log(e) diff --git a/yarn.lock b/yarn.lock index f901baa..8df9fa4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -72,357 +72,361 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/abort-controller@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/abort-controller@npm:3.222.0" +"@aws-sdk/abort-controller@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/abort-controller@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 06528afdab15ed4f088b313e3e42c4ed9b46f4887a2f6f75aabe98830027510e5541965cefa3af1a9f0315ae4b37bdc16b6a9c80b7fca65719b47c8909aad260 + checksum: 44045b60c7697ed76bcbfbe3f7f4bb019f139d2337e77d8ce79d98bca17c1245e2d33934bba04fe8e2d462b729124ba4414a589ed9275c07f2bfefd3a0850184 languageName: node linkType: hard -"@aws-sdk/client-cognito-identity@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/client-cognito-identity@npm:3.223.0" +"@aws-sdk/client-cognito-identity@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.229.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/client-sts": 3.223.0 - "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/credential-provider-node": 3.223.0 - "@aws-sdk/fetch-http-handler": 3.222.0 - "@aws-sdk/hash-node": 3.222.0 - "@aws-sdk/invalid-dependency": 3.222.0 - "@aws-sdk/middleware-content-length": 3.222.0 - "@aws-sdk/middleware-endpoint": 3.222.0 - "@aws-sdk/middleware-host-header": 3.222.0 - "@aws-sdk/middleware-logger": 3.222.0 - "@aws-sdk/middleware-recursion-detection": 3.222.0 - "@aws-sdk/middleware-retry": 3.222.0 - "@aws-sdk/middleware-serde": 3.222.0 - "@aws-sdk/middleware-signing": 3.222.0 - "@aws-sdk/middleware-stack": 3.222.0 - "@aws-sdk/middleware-user-agent": 3.222.0 - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/node-http-handler": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/smithy-client": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/url-parser": 3.222.0 + "@aws-sdk/client-sts": 3.229.0 + "@aws-sdk/config-resolver": 3.226.0 + "@aws-sdk/credential-provider-node": 3.229.0 + "@aws-sdk/fetch-http-handler": 3.226.0 + "@aws-sdk/hash-node": 3.226.0 + "@aws-sdk/invalid-dependency": 3.226.0 + "@aws-sdk/middleware-content-length": 3.226.0 + "@aws-sdk/middleware-endpoint": 3.226.0 + "@aws-sdk/middleware-host-header": 3.226.0 + "@aws-sdk/middleware-logger": 3.226.0 + "@aws-sdk/middleware-recursion-detection": 3.226.0 + "@aws-sdk/middleware-retry": 3.229.0 + "@aws-sdk/middleware-serde": 3.226.0 + "@aws-sdk/middleware-signing": 3.226.0 + "@aws-sdk/middleware-stack": 3.226.0 + "@aws-sdk/middleware-user-agent": 3.226.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/node-http-handler": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/smithy-client": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/url-parser": 3.226.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.222.0 - "@aws-sdk/util-defaults-mode-node": 3.222.0 - "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-user-agent-browser": 3.222.0 - "@aws-sdk/util-user-agent-node": 3.222.0 + "@aws-sdk/util-defaults-mode-browser": 3.226.0 + "@aws-sdk/util-defaults-mode-node": 3.226.0 + "@aws-sdk/util-endpoints": 3.226.0 + "@aws-sdk/util-retry": 3.229.0 + "@aws-sdk/util-user-agent-browser": 3.226.0 + "@aws-sdk/util-user-agent-node": 3.226.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: ada894c3fbe943044617d719dc947af51546dbfea72e5b63f23c6230677c39dc0355248ed1ba119a29f2d4b7bc64e28400880b580a263bcd45d05fdf45007ad7 + checksum: 742e26278a61685b276e4dbaa15e3e3fc5702606ec2be72f59a210eedba99b8b66fabfd2d00927e76f7941dbe63701176f5e8c6cad82224f30dfeca2b125c186 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.223.0" +"@aws-sdk/client-sso-oidc@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.229.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/fetch-http-handler": 3.222.0 - "@aws-sdk/hash-node": 3.222.0 - "@aws-sdk/invalid-dependency": 3.222.0 - "@aws-sdk/middleware-content-length": 3.222.0 - "@aws-sdk/middleware-endpoint": 3.222.0 - "@aws-sdk/middleware-host-header": 3.222.0 - "@aws-sdk/middleware-logger": 3.222.0 - "@aws-sdk/middleware-recursion-detection": 3.222.0 - "@aws-sdk/middleware-retry": 3.222.0 - "@aws-sdk/middleware-serde": 3.222.0 - "@aws-sdk/middleware-stack": 3.222.0 - "@aws-sdk/middleware-user-agent": 3.222.0 - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/node-http-handler": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/smithy-client": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/url-parser": 3.222.0 + "@aws-sdk/config-resolver": 3.226.0 + "@aws-sdk/fetch-http-handler": 3.226.0 + "@aws-sdk/hash-node": 3.226.0 + "@aws-sdk/invalid-dependency": 3.226.0 + "@aws-sdk/middleware-content-length": 3.226.0 + "@aws-sdk/middleware-endpoint": 3.226.0 + "@aws-sdk/middleware-host-header": 3.226.0 + "@aws-sdk/middleware-logger": 3.226.0 + "@aws-sdk/middleware-recursion-detection": 3.226.0 + "@aws-sdk/middleware-retry": 3.229.0 + "@aws-sdk/middleware-serde": 3.226.0 + "@aws-sdk/middleware-stack": 3.226.0 + "@aws-sdk/middleware-user-agent": 3.226.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/node-http-handler": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/smithy-client": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/url-parser": 3.226.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.222.0 - "@aws-sdk/util-defaults-mode-node": 3.222.0 - "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-user-agent-browser": 3.222.0 - "@aws-sdk/util-user-agent-node": 3.222.0 + "@aws-sdk/util-defaults-mode-browser": 3.226.0 + "@aws-sdk/util-defaults-mode-node": 3.226.0 + "@aws-sdk/util-endpoints": 3.226.0 + "@aws-sdk/util-retry": 3.229.0 + "@aws-sdk/util-user-agent-browser": 3.226.0 + "@aws-sdk/util-user-agent-node": 3.226.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: ab5b6142d897ec48a3bb246577c23d1b6e26ee228c7ce264f826d10f88caa83e03f0dac9d88e361c70b778ceef45f0ebd9712cd03ca5b60ab240a3d4382ecb7c + checksum: 031bedebd213f7f2522321abb55bb50a2271e4d63ad38e3596eab6daeddb39044a4d72f554fc3e716ea4108317b3169ffb681b6e75f45ec83f730619b588eac6 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/client-sso@npm:3.223.0" +"@aws-sdk/client-sso@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/client-sso@npm:3.229.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/fetch-http-handler": 3.222.0 - "@aws-sdk/hash-node": 3.222.0 - "@aws-sdk/invalid-dependency": 3.222.0 - "@aws-sdk/middleware-content-length": 3.222.0 - "@aws-sdk/middleware-endpoint": 3.222.0 - "@aws-sdk/middleware-host-header": 3.222.0 - "@aws-sdk/middleware-logger": 3.222.0 - "@aws-sdk/middleware-recursion-detection": 3.222.0 - "@aws-sdk/middleware-retry": 3.222.0 - "@aws-sdk/middleware-serde": 3.222.0 - "@aws-sdk/middleware-stack": 3.222.0 - "@aws-sdk/middleware-user-agent": 3.222.0 - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/node-http-handler": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/smithy-client": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/url-parser": 3.222.0 + "@aws-sdk/config-resolver": 3.226.0 + "@aws-sdk/fetch-http-handler": 3.226.0 + "@aws-sdk/hash-node": 3.226.0 + "@aws-sdk/invalid-dependency": 3.226.0 + "@aws-sdk/middleware-content-length": 3.226.0 + "@aws-sdk/middleware-endpoint": 3.226.0 + "@aws-sdk/middleware-host-header": 3.226.0 + "@aws-sdk/middleware-logger": 3.226.0 + "@aws-sdk/middleware-recursion-detection": 3.226.0 + "@aws-sdk/middleware-retry": 3.229.0 + "@aws-sdk/middleware-serde": 3.226.0 + "@aws-sdk/middleware-stack": 3.226.0 + "@aws-sdk/middleware-user-agent": 3.226.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/node-http-handler": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/smithy-client": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/url-parser": 3.226.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.222.0 - "@aws-sdk/util-defaults-mode-node": 3.222.0 - "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-user-agent-browser": 3.222.0 - "@aws-sdk/util-user-agent-node": 3.222.0 + "@aws-sdk/util-defaults-mode-browser": 3.226.0 + "@aws-sdk/util-defaults-mode-node": 3.226.0 + "@aws-sdk/util-endpoints": 3.226.0 + "@aws-sdk/util-retry": 3.229.0 + "@aws-sdk/util-user-agent-browser": 3.226.0 + "@aws-sdk/util-user-agent-node": 3.226.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: 856e3745182906d274dc894baa7d853966b0074f89ea892f29132e1cefdf49f267f1d0fffaa2de3de352d19ff3963d59290602057bd4510731e0156199bed664 + checksum: 970e6ea9666a6e976f0b4e7f693e286ade8c090aca1ae780835050623f5d8bd3ecbc0336d1b3f4037e92d50c48b5d18d5ad6d595ddb62db7efe38b90ab928129 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/client-sts@npm:3.223.0" +"@aws-sdk/client-sts@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/client-sts@npm:3.229.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/credential-provider-node": 3.223.0 - "@aws-sdk/fetch-http-handler": 3.222.0 - "@aws-sdk/hash-node": 3.222.0 - "@aws-sdk/invalid-dependency": 3.222.0 - "@aws-sdk/middleware-content-length": 3.222.0 - "@aws-sdk/middleware-endpoint": 3.222.0 - "@aws-sdk/middleware-host-header": 3.222.0 - "@aws-sdk/middleware-logger": 3.222.0 - "@aws-sdk/middleware-recursion-detection": 3.222.0 - "@aws-sdk/middleware-retry": 3.222.0 - "@aws-sdk/middleware-sdk-sts": 3.222.0 - "@aws-sdk/middleware-serde": 3.222.0 - "@aws-sdk/middleware-signing": 3.222.0 - "@aws-sdk/middleware-stack": 3.222.0 - "@aws-sdk/middleware-user-agent": 3.222.0 - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/node-http-handler": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/smithy-client": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/url-parser": 3.222.0 + "@aws-sdk/config-resolver": 3.226.0 + "@aws-sdk/credential-provider-node": 3.229.0 + "@aws-sdk/fetch-http-handler": 3.226.0 + "@aws-sdk/hash-node": 3.226.0 + "@aws-sdk/invalid-dependency": 3.226.0 + "@aws-sdk/middleware-content-length": 3.226.0 + "@aws-sdk/middleware-endpoint": 3.226.0 + "@aws-sdk/middleware-host-header": 3.226.0 + "@aws-sdk/middleware-logger": 3.226.0 + "@aws-sdk/middleware-recursion-detection": 3.226.0 + "@aws-sdk/middleware-retry": 3.229.0 + "@aws-sdk/middleware-sdk-sts": 3.226.0 + "@aws-sdk/middleware-serde": 3.226.0 + "@aws-sdk/middleware-signing": 3.226.0 + "@aws-sdk/middleware-stack": 3.226.0 + "@aws-sdk/middleware-user-agent": 3.226.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/node-http-handler": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/smithy-client": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/url-parser": 3.226.0 "@aws-sdk/util-base64": 3.208.0 "@aws-sdk/util-body-length-browser": 3.188.0 "@aws-sdk/util-body-length-node": 3.208.0 - "@aws-sdk/util-defaults-mode-browser": 3.222.0 - "@aws-sdk/util-defaults-mode-node": 3.222.0 - "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-user-agent-browser": 3.222.0 - "@aws-sdk/util-user-agent-node": 3.222.0 + "@aws-sdk/util-defaults-mode-browser": 3.226.0 + "@aws-sdk/util-defaults-mode-node": 3.226.0 + "@aws-sdk/util-endpoints": 3.226.0 + "@aws-sdk/util-retry": 3.229.0 + "@aws-sdk/util-user-agent-browser": 3.226.0 + "@aws-sdk/util-user-agent-node": 3.226.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 fast-xml-parser: 4.0.11 tslib: ^2.3.1 - checksum: 6976345f839b0028a0e83f6d11e3323da68cef103ae5381299c6d75df25a1ef336b83023c79896242fbc4b7d2a27f3deebb1b1922e815e6cc7780f3eee302210 + checksum: 18d357f2433ef832948f867c0e22ba34ac57c096e8b5209e0203d892acab9de60d9114a513f8ec9354ec83a89652a8285a49f89ee3203cededc514a25eea67f5 languageName: node linkType: hard -"@aws-sdk/config-resolver@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/config-resolver@npm:3.222.0" +"@aws-sdk/config-resolver@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/config-resolver@npm:3.226.0" dependencies: - "@aws-sdk/signature-v4": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/signature-v4": 3.226.0 + "@aws-sdk/types": 3.226.0 "@aws-sdk/util-config-provider": 3.208.0 - "@aws-sdk/util-middleware": 3.222.0 + "@aws-sdk/util-middleware": 3.226.0 tslib: ^2.3.1 - checksum: 8a2524cf1e8bd9d7acf82a039a1da7de9a7f9017d7a0dd913024e74d126509bdaa0e2b2bfc0b9ba5a9aee83af4022e2573f59d675997cc81b726d8300afd22d5 + checksum: 08bfbc0528da98cba2b46bda05cd9af46f6eced3dbe5e415b11465501fe672d99b869adc9f08cfd2f138c9b61ac119b43eb9a90a490395aec705e1b795022d4d languageName: node linkType: hard -"@aws-sdk/credential-provider-cognito-identity@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.223.0" +"@aws-sdk/credential-provider-cognito-identity@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.229.0" dependencies: - "@aws-sdk/client-cognito-identity": 3.223.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/client-cognito-identity": 3.229.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: e0f03110b120699ef9c458edd5b1a248f5e3f360931b2e8be7ebb7fc33da51ac1c3fdf96bb05a755a2d303c00c7effee7a582706da2333b4ee43c0040ff551a5 + checksum: 37cc46249390dc5bc6cb39b014a2c9710fcbe53d22b8cf90452473712f7464dffcf286c3c7cb72ae268988c136710a1dbcb52006d93d2de8973c40953ef79058 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.222.0" +"@aws-sdk/credential-provider-env@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.226.0" dependencies: - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: ae524102f47c8ac471231d990b63d3a3272826f94efd9a37d6a5ccc1c42db1edc86a69c67743eeba16fbead5b6800578de1a43831b99005e6d5b974acdc553d0 + checksum: 4f764d8d07ba1f65503ed2440ebfbccf98c141b11a087a582ea606d06bc764c91641b4ec505ab0d4750025a01128b041d9514a3ec868c385f038b5373b513293 languageName: node linkType: hard -"@aws-sdk/credential-provider-imds@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-imds@npm:3.222.0" +"@aws-sdk/credential-provider-imds@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/credential-provider-imds@npm:3.226.0" dependencies: - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/url-parser": 3.222.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/url-parser": 3.226.0 tslib: ^2.3.1 - checksum: 41e5ee3819896063fdd3054d9a21d954b6904eaf66b4fc1385407de18dab7417704f2c2ebfad27330692fda629cc8878a0d7291a67f84ab4880a1c1a4a4d3c22 + checksum: c0480ca127e6715ebf98ff41a8ea47d139166b8632582782df46fc9e568ff579cfc0768af80082ae6eea3eb6750edb41c4a4c39281b777c578fdb7f8ef8b641c languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.223.0" +"@aws-sdk/credential-provider-ini@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.229.0" dependencies: - "@aws-sdk/credential-provider-env": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.223.0 - "@aws-sdk/credential-provider-web-identity": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/credential-provider-env": 3.226.0 + "@aws-sdk/credential-provider-imds": 3.226.0 + "@aws-sdk/credential-provider-sso": 3.229.0 + "@aws-sdk/credential-provider-web-identity": 3.226.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: f407fe591999f1da1d5580b182af261ceeb4455da9a53d18ae871c9cf244e6e72fa10ef28036419790e2b5787d64c5de5b4daf4c7f69acb866894410baa880d0 + checksum: fb573675c0c34c7fa0e207c78190bce73e42fc1713d93a25868b50002352a70f3584e2ab0a0b249103bcf25c3a60c26261ad3dcfc1d6280b4f5dc8ad4e4b3f49 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.223.0" +"@aws-sdk/credential-provider-node@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.229.0" dependencies: - "@aws-sdk/credential-provider-env": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-ini": 3.223.0 - "@aws-sdk/credential-provider-process": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.223.0 - "@aws-sdk/credential-provider-web-identity": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/credential-provider-env": 3.226.0 + "@aws-sdk/credential-provider-imds": 3.226.0 + "@aws-sdk/credential-provider-ini": 3.229.0 + "@aws-sdk/credential-provider-process": 3.226.0 + "@aws-sdk/credential-provider-sso": 3.229.0 + "@aws-sdk/credential-provider-web-identity": 3.226.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 6ce5f88f75a6e879344ea76fa2b390c779d74f1b3657fa15367b15797b09d9713ef0d2f14c95421254a6bc0b8bde1acd2634978a6549e02a74c33160ae6130fd + checksum: a8ad0f6aeb3c7ee03937e7389dbcabeb81f2a6e23c3bfeb84f518b063fb156a2d2f2e4a7267655c6bdfa178ba51e9e0ea74c98397dd6dd58b9a315d9e5a4a6de languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.222.0" +"@aws-sdk/credential-provider-process@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.226.0" dependencies: - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 9f51373b68be65f4ec1a1412796070c4c8570729ad1b2e6882c802b152d6ac54c2877df8049e7e483fe85af94fdd19bda6145ebe9130e7a6502f851ae8db1855 + checksum: 3ad24e2784ae7929f8932a187e0a5a06fc62d31ccb393fd2d9fa86d75c1109809c96b69edb17c3d7bd7d087b97662818d5320742a4cd70add06999a3b2ec3a53 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.223.0" +"@aws-sdk/credential-provider-sso@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.229.0" dependencies: - "@aws-sdk/client-sso": 3.223.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/token-providers": 3.223.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/client-sso": 3.229.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/token-providers": 3.229.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 4593a94dc86ef7218517061cf875285c2c6087f1d4a1199442055e6165701f11f9921612a04ab3c1b3f29b3132d46a8ce8cd26070fad132509e20eca1b89f217 + checksum: 9497a8c5dfddf70a4740e9e485cea757070a6e9c5c94469cc51599918f2689f6ca794fcaba98320b20aa7b81e7e56c3b91f11d3cf8111335e445638825d0ee58 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.222.0" +"@aws-sdk/credential-provider-web-identity@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.226.0" dependencies: - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 4cae5d24b048decc17e44cef846635d7dfc3e2941b26391b144677a355f2ed4b3b798e87e14cc04959283c4f4914267edaaf8d92e58cd61a4a529551e61459ae + checksum: f536d9af3d900eee31b6e7966ff827713fd5f661ae477f0911eebdac3e544eb5a732df0be0c9162058943e0aeb89333c97a1758236e8f9760c5e87280fd926fa languageName: node linkType: hard "@aws-sdk/credential-providers@npm:^3.186.0": - version: 3.223.0 - resolution: "@aws-sdk/credential-providers@npm:3.223.0" + version: 3.229.0 + resolution: "@aws-sdk/credential-providers@npm:3.229.0" dependencies: - "@aws-sdk/client-cognito-identity": 3.223.0 - "@aws-sdk/client-sso": 3.223.0 - "@aws-sdk/client-sts": 3.223.0 - "@aws-sdk/credential-provider-cognito-identity": 3.223.0 - "@aws-sdk/credential-provider-env": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-ini": 3.223.0 - "@aws-sdk/credential-provider-node": 3.223.0 - "@aws-sdk/credential-provider-process": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.223.0 - "@aws-sdk/credential-provider-web-identity": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/client-cognito-identity": 3.229.0 + "@aws-sdk/client-sso": 3.229.0 + "@aws-sdk/client-sts": 3.229.0 + "@aws-sdk/credential-provider-cognito-identity": 3.229.0 + "@aws-sdk/credential-provider-env": 3.226.0 + "@aws-sdk/credential-provider-imds": 3.226.0 + "@aws-sdk/credential-provider-ini": 3.229.0 + "@aws-sdk/credential-provider-node": 3.229.0 + "@aws-sdk/credential-provider-process": 3.226.0 + "@aws-sdk/credential-provider-sso": 3.229.0 + "@aws-sdk/credential-provider-web-identity": 3.226.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 289d043f41460751e90c3adc323f3a56e517f67c0a7f8889249e0969b3302f19d093eef4a10d3528bdf34f1043f95fa41555ed5c91af4d2ca636cded1775c81c + checksum: 9acd1bfb97d5c45a3b02ed74540317791eb00a058bbe4ab2852099f59dff62ab6a7f834dcfdb1f75e80956b86d80a3b44c0574361a12473f8a3e493437a1b36a languageName: node linkType: hard -"@aws-sdk/fetch-http-handler@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/fetch-http-handler@npm:3.222.0" +"@aws-sdk/fetch-http-handler@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/fetch-http-handler@npm:3.226.0" dependencies: - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/querystring-builder": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/querystring-builder": 3.226.0 + "@aws-sdk/types": 3.226.0 "@aws-sdk/util-base64": 3.208.0 tslib: ^2.3.1 - checksum: b6fa1a03e8e7fa4aea13f9aa154968b93ce1c6eca8f2f3fd58961bad167a720dc999cc62270bdf707d21e2136d22171f1099b4b326ccbcff52bea59a5a278630 + checksum: f12ed12088aee05e4c6a742356017f55f26fec740c12c4d89c4eb283203171d032d99c9fa45fb28cc7798b35410cc55736df1c78d8eea014667e489f1b276f3a languageName: node linkType: hard -"@aws-sdk/hash-node@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/hash-node@npm:3.222.0" +"@aws-sdk/hash-node@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/hash-node@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 "@aws-sdk/util-buffer-from": 3.208.0 tslib: ^2.3.1 - checksum: 25ad5a33eb74d7a6a43f1d9d668a268e1ac9d1e5f394395784fc6011d10448630f79ea1f5c5dfbed249556cd4dec2f091d0913eca82700bdea1f64564c6512ae + checksum: cbe466e2e3efdbb3aefe7772da734f6d00e0d1572c60e497b09460e055093b155c5e94bd3718135238bc05e58cb49abcdcd0fe5e34458bd3563b89d3d4a42251 languageName: node linkType: hard -"@aws-sdk/invalid-dependency@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/invalid-dependency@npm:3.222.0" +"@aws-sdk/invalid-dependency@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/invalid-dependency@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 1b6f3c2330f57506d8431cd7d295ab483e739a8be21556b5495cf3b0501776e0b286ddb5f049acd8814f46d44380a3c4ec0790c3226cbe8dcea03998c4bc1fd7 + checksum: 4a6168b50675881442c9bc87e8f27e8317ece9251fbfd3d812d32edcd83f687328e6de518fa9f11b1bc984ad3a3454cd43b59c0362f04c03687ce5250ac5d720 languageName: node linkType: hard @@ -435,273 +439,275 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-content-length@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-content-length@npm:3.222.0" +"@aws-sdk/middleware-content-length@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-content-length@npm:3.226.0" dependencies: - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: c21d04fa94ad3b20f507ad41f65cd010e84ce6ef9a4b9ae9c8d66ea8ca60b8b4c1436a9a1c19805de79b95b6f885f18dfda50ba19f6546023a71f36577797f66 + checksum: 538b0222e2c8be61dc3090dfefe4b9ec1f0cbee155125edf5b654dbe36ab0b2d6befe3da6008194dc26bbf94d53b7e01edca683720061c4b43c6beb9dc278002 languageName: node linkType: hard -"@aws-sdk/middleware-endpoint@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-endpoint@npm:3.222.0" +"@aws-sdk/middleware-endpoint@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-endpoint@npm:3.226.0" dependencies: - "@aws-sdk/middleware-serde": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/signature-v4": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/url-parser": 3.222.0 + "@aws-sdk/middleware-serde": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/signature-v4": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/url-parser": 3.226.0 "@aws-sdk/util-config-provider": 3.208.0 - "@aws-sdk/util-middleware": 3.222.0 + "@aws-sdk/util-middleware": 3.226.0 tslib: ^2.3.1 - checksum: 3a1240f66457d1de73a9c9f5f8baaf628f307d46840ef323492ac68ede5504dee6b1a9299195212e2b12e039ac7d6eafefa72cc1502799bcae6fd77c5d84da93 + checksum: 22df6fd90e3b7d3edd58f427ebfbb229181ef190b2d795e0b400f70f95a573dc59666a08b26613db6bb1b764b13ba7ddec15fced2641e9678fad5500fca289be languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.222.0" +"@aws-sdk/middleware-host-header@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.226.0" dependencies: - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 0806ce2b235d8ec6328caa1cacdbdbee82196f82b7dc96e1ce6d8413390a35c73475df3a102391a99cd5996ef806054969ea00338064889997bd15428a064c73 + checksum: 35eb7d9f5eb2e45c58bb5887a12dc80f22e8fc630d53d356064c62ce3354c9054717697168ab3818f14c7baae3246480aa7251e6fcaf5c7104498df5dca9bbd6 languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-logger@npm:3.222.0" +"@aws-sdk/middleware-logger@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-logger@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: c0fef1f56ba710a2e5784515f96d8c8408b3e882288d1bc8e6201bf8128d921de4b2dbaaeca1fee48334539587bf514cb77796cc0fab989173c4d785fc220db5 + checksum: 7b7c2eb336f376f6e8c50ebd0fd9b6e9a749e21d6f5c433683a4e98edb311bb76fafc0bb0abfd75f61001466879be7d68aefb3958a332e540160a93ee9371b44 languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.222.0" +"@aws-sdk/middleware-recursion-detection@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.226.0" dependencies: - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 6a3b31de18a32585a86948f312aefd98ec7a9a9ff5b8044f7f11dc8d7737e5fdb5d867f2971ffcf645db118892a28518fdb9689cc8fb64e947717281cca32031 + checksum: 194161d76a815df623c6699f7a7016268b4a01276baa3527682504001a4e2e948e2dd389d2065f62fe57509f20b9680ea907bfa52b861122335d276c9ab4ed61 languageName: node linkType: hard -"@aws-sdk/middleware-retry@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-retry@npm:3.222.0" +"@aws-sdk/middleware-retry@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/middleware-retry@npm:3.229.0" dependencies: - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/service-error-classification": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/util-middleware": 3.222.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/service-error-classification": 3.229.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/util-middleware": 3.226.0 tslib: ^2.3.1 uuid: ^8.3.2 - checksum: 764a56b92ba0178166cb188db20e521360a625d763a94e9470eeda83ad1d6d240186b5eeec41592896aa09f7c1370e604513419bf30683cbcbd5e5ae625b3a98 + checksum: a146879b0d4d940aed398c4bfd288b28e678bff7cbe04983123caf3bcb73fecc801ec19d13ca82ac1b2977515dc71ebe28efc400c07839004213017f93369b04 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sts@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-sdk-sts@npm:3.222.0" +"@aws-sdk/middleware-sdk-sts@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-sdk-sts@npm:3.226.0" dependencies: - "@aws-sdk/middleware-signing": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/signature-v4": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/middleware-signing": 3.226.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/signature-v4": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 0ad309d6490586686643602199b8a4389818568b6a7f6c41c97ff0b85e91651c9bed05da31c3eddf1ad329af926ac7efa5b8ee353c52a540ef1a529d6346350f + checksum: 0b6e11889c9f1b5264eb38288dea5bd2987fa28338651939d005eaa0524f9cd41c570c545b34b08d25d858397b3f14a2b6a21238a8c88fc08719ed50b835cb15 languageName: node linkType: hard -"@aws-sdk/middleware-serde@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-serde@npm:3.222.0" +"@aws-sdk/middleware-serde@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-serde@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 28dfe6d9c8d662d449ec4df9c30aa0eb18103f8cff8f3fa5325fc41a4e94b16e054d97d1325fe68b2ef497abfeabfc96b4ad63e485fb71693a488869fe732c33 + checksum: e8315079cc3ed4527d1434eb28becfaf951338d2ced21116753b52d3330eabbfd13f24382b3378bcc2c09ee0653a65e0d8353e9e32f512b69929908272b83fa2 languageName: node linkType: hard -"@aws-sdk/middleware-signing@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-signing@npm:3.222.0" +"@aws-sdk/middleware-signing@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-signing@npm:3.226.0" dependencies: - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/signature-v4": 3.222.0 - "@aws-sdk/types": 3.222.0 - "@aws-sdk/util-middleware": 3.222.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/signature-v4": 3.226.0 + "@aws-sdk/types": 3.226.0 + "@aws-sdk/util-middleware": 3.226.0 tslib: ^2.3.1 - checksum: 0e43183ba97d40162d2be2d8f0965c532691ebbb9bcb6216cb9b43f6fa2ed81118f3c06f991e5d01b3dc5b8d3cc692344b53996a8e13085fb9c658683da5e791 + checksum: 4f66483d359e21d1f7e56a1900f7271a561801e1ee4380deaa006ce750ce73245a5fe554d4c1ab60cf9ca127c41f35c53c0817c375df6f8f068c9ed7f9572444 languageName: node linkType: hard -"@aws-sdk/middleware-stack@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-stack@npm:3.222.0" +"@aws-sdk/middleware-stack@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-stack@npm:3.226.0" dependencies: tslib: ^2.3.1 - checksum: 5f143c1a964016a7296798e8ca457b7a364bc8e816eb1829be5c3b5c0f7430dbad2df3725d96bee4f4ad9ac4937083e7b2bf7c72093775c5b9fa85f697304361 + checksum: fd284bc28ee6ee576e3fe9dd3c2c9d64b8c95fa1bb213b5e41e23a57bbc2693652ee51028414eb278918235e591ef729db572b160bff963c6f74e7d6c15d33d0 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.222.0" +"@aws-sdk/middleware-user-agent@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.226.0" dependencies: - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 3521fc61597faa8e53ee2290a4e1342ad0a22591362757c57985add5e3a85978f9e8fc83e993670740eae532937886c61ca85a8c534327ff4ef1ed721883e7a9 + checksum: 8d3724aecd7b7f9f1a5b081263cb85864c969144105819f371a9675ee4f680c11e3b5ecbe181f57d2bfdde9c98b90267bd4afe0fc0822863041e0df52671f043 languageName: node linkType: hard -"@aws-sdk/node-config-provider@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/node-config-provider@npm:3.222.0" +"@aws-sdk/node-config-provider@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/node-config-provider@npm:3.226.0" dependencies: - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 53c2e7d7c1ac5c54a0fbf5b5fdf963c89cc659f51189a6086f939d5adc0d9c3500e3205b159285f447df3bbf39ac32e67e1c313bbc368ad1c1ae8d26f771a3f4 + checksum: 0e7c4c7ea20c5361c71f1ab0b99c19964f76c187659714cd6e87e1cc264d0ab29965d33618d9d47d373e3b108558cd6628fb36a00cdac614849e5044c6776213 languageName: node linkType: hard -"@aws-sdk/node-http-handler@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/node-http-handler@npm:3.222.0" +"@aws-sdk/node-http-handler@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/node-http-handler@npm:3.226.0" dependencies: - "@aws-sdk/abort-controller": 3.222.0 - "@aws-sdk/protocol-http": 3.222.0 - "@aws-sdk/querystring-builder": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/abort-controller": 3.226.0 + "@aws-sdk/protocol-http": 3.226.0 + "@aws-sdk/querystring-builder": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 06a66d1e54e0fd856c6172f2cfd97daefab8d5b996eecfb83b05cb29f4830ff00af1a5deb2726ec88b306a585be214e3fc7b3ead3ea9b70776a70a768424a70d + checksum: e4080ec9f859be4b191416084fef8d2687f24d973169b8fef592a867c23c14fad74f4bea20f451b98fedfee6a265f2c89b0bee4fe7aabdb1fd05a7475bf12b91 languageName: node linkType: hard -"@aws-sdk/property-provider@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/property-provider@npm:3.222.0" +"@aws-sdk/property-provider@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/property-provider@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 924965232eeef1870c7ed108b7ab1b6d23da3032f0741b129a883eab472c17c9811b95f79e3e84299cd0a44512b3aedfafa05ab0b232a0b17782ed327a4a1965 + checksum: d63c53313bb2797ab2ecfa2cff827b63417c0cc31abe8c666cd018a1d70da877b61ef1fb21e504d6408e72b20544756089938b44869b003ba3c313b39bca6d45 languageName: node linkType: hard -"@aws-sdk/protocol-http@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/protocol-http@npm:3.222.0" +"@aws-sdk/protocol-http@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/protocol-http@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 11650667a4072246e6a12269c95e2c5a746d32032d0a54e3c8d062c711fef07b0c6fc2ad2a23c9ef82a97d305bf9a9222ccbcc3adb2835355b8b0199d3839f75 + checksum: 92cf35e1026a812c6c7ce8309fd685162ab7796237fc063e71dd9b292abf25902d6c0e02e93219101e1f506ef68a98f02eed6a61b18b8acd450ecb4bf8c1b467 languageName: node linkType: hard -"@aws-sdk/querystring-builder@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/querystring-builder@npm:3.222.0" +"@aws-sdk/querystring-builder@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/querystring-builder@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 "@aws-sdk/util-uri-escape": 3.201.0 tslib: ^2.3.1 - checksum: 418bc648f3597e1b96765784acb6964dc3aaca6853582d7e91aaaaf793d9ee1fe8170da31cddff72b36b95456fc5566589120c94988711726dc80ddf345e9839 + checksum: 0014b8876d402787c56f606f66e79eb48ff100b01d7a657bb0766a7723ca184da0dd2aed405837e7e6c5781fd868d7a903eef25884b2d1881d30e2454f5c2bfc languageName: node linkType: hard -"@aws-sdk/querystring-parser@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/querystring-parser@npm:3.222.0" +"@aws-sdk/querystring-parser@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/querystring-parser@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: d209807dc727c6eebf885d1e7a440e0fdb9c68e27f7f6e48a326f97eab8da9172dba91a35015656dffd10d7a2b484237e49705d332948cfed747ae04f08de9ab + checksum: 13b23b4dff859d778a05f6874e318d95d6fbd79c62a06bb6f6dff8496ac2eaf86f60b17460c3595af854c2e316482c9fcc098655d475926039f7dff4a6f1ecf1 languageName: node linkType: hard -"@aws-sdk/service-error-classification@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/service-error-classification@npm:3.222.0" - checksum: 7277ef3831a91821ce3306eda993d4d646ae15de9c638a4a8804d8db330a267cb6e3a20e3eb886d9cac634a77b0e1f3eb0706ce7c38bc42f4b67a1fac6f6d76a +"@aws-sdk/service-error-classification@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/service-error-classification@npm:3.229.0" + checksum: 7877963d62f4d43ce5116f0ddfd1b27cffab2b0e74a4ceb4006b1f85b17dd50eb9ae2f227cabf935261e42b7615d0a9de190dd684380c30e03dee6e9f7e12587 languageName: node linkType: hard -"@aws-sdk/shared-ini-file-loader@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/shared-ini-file-loader@npm:3.222.0" +"@aws-sdk/shared-ini-file-loader@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/shared-ini-file-loader@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 2efc2618e65058bd549a6acd2cd68c1e8d2a5079a5447328908eb952651714d616fdb1a95622c63b4718f03ac251eb6d5598a666e1c01f1ea223b2071ee74371 + checksum: 7b43e4d70f33b1098c9582a20dd5cf11c0e2efe5e7f4f854ee1fdfe2f804a7171deeb76f167c46ef7365bb584e29c816d58b6d8f6c9ac9debb124cccf59ebf59 languageName: node linkType: hard -"@aws-sdk/signature-v4@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/signature-v4@npm:3.222.0" +"@aws-sdk/signature-v4@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/signature-v4@npm:3.226.0" dependencies: "@aws-sdk/is-array-buffer": 3.201.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 "@aws-sdk/util-hex-encoding": 3.201.0 - "@aws-sdk/util-middleware": 3.222.0 + "@aws-sdk/util-middleware": 3.226.0 "@aws-sdk/util-uri-escape": 3.201.0 tslib: ^2.3.1 - checksum: 66f9f0f8170cdede19d4194a5bb56fc914c9013bf9dbc60d84aa4340d15d4f5ed73a477484fac943de08f57d924423eaa01f913bd3055ee0b7b3c5b119f9e348 + checksum: 8bc6ea1ad467d59f1ff6c5b814277e16d0d5b2d1455f21969b4575f572fdc013284e356e0f24436c89c8b99a51d0e384b01daa2bace1c3d69e28f35a23ef9802 languageName: node linkType: hard -"@aws-sdk/smithy-client@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/smithy-client@npm:3.222.0" +"@aws-sdk/smithy-client@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/smithy-client@npm:3.226.0" dependencies: - "@aws-sdk/middleware-stack": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/middleware-stack": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 0bfbd061a001054a99234a819e9313a2bfd9131e013cdd46674f3dc06faa3e416245d8e3a86e05fad942da5ec6ef34988e686e29d5940ad738452116a4e70173 + checksum: 7c77d26367b94286fd0eceb5036f3a931314ab24c01ae64f645ea1390b3dc94d443a751be2be504d36aeeef86c5412facdc7df9624a792d9e97e5d53531f850c languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.223.0": - version: 3.223.0 - resolution: "@aws-sdk/token-providers@npm:3.223.0" +"@aws-sdk/token-providers@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/token-providers@npm:3.229.0" dependencies: - "@aws-sdk/client-sso-oidc": 3.223.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/client-sso-oidc": 3.229.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/shared-ini-file-loader": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 08d724bc685b90761159b449413c9dddb581cc61cd982ee9a189e8682d1a703acc70663beec2ae31d1ebf6fe9a86480b63fb65da531e35b2e8772a2c3906969f + checksum: b099537ba47f3c2520f8081590ef97d22279aea39fcb1f3883f611273c8f15f4190d7b44f3f2debfdb36900f124e5f188193b039ce95c45c6e20d3b48ef9a3da languageName: node linkType: hard -"@aws-sdk/types@npm:3.222.0, @aws-sdk/types@npm:^3.1.0, @aws-sdk/types@npm:^3.110.0": - version: 3.222.0 - resolution: "@aws-sdk/types@npm:3.222.0" - checksum: 41d70038c69b1e9b9dbf0489a8aa416da1c96c4ff84e8d5db01ea4877efceb4c0fdd0ce27bdeea8c67afc4d168151dc63938302a3f945922143f37472c4fd9da - languageName: node - linkType: hard - -"@aws-sdk/url-parser@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/url-parser@npm:3.222.0" +"@aws-sdk/types@npm:3.226.0, @aws-sdk/types@npm:^3.1.0, @aws-sdk/types@npm:^3.110.0": + version: 3.226.0 + resolution: "@aws-sdk/types@npm:3.226.0" dependencies: - "@aws-sdk/querystring-parser": 3.222.0 - "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: ef878c49c61efc2bd6a94ffebfbacade2bdd19e390785e48a8c5c151db86d099c391c30304ba6ade1cdd94c1c41d87ce160d6570cd4f76058e1cbbe0063829f4 + checksum: 0041a8c0924ec7ba4ff787ae329a80b3edb9ace43e38fe3656a1862ae5324427fb09836275c0962cbc80e3c34a6ee512a108a5c4e7997f29664e3e8930cffd80 + languageName: node + linkType: hard + +"@aws-sdk/url-parser@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/url-parser@npm:3.226.0" + dependencies: + "@aws-sdk/querystring-parser": 3.226.0 + "@aws-sdk/types": 3.226.0 + tslib: ^2.3.1 + checksum: cb8d4b13c0de7336728a7a60a246108c0ecd46e5e493cb1006f5ab58c5dbae0ac36a791536786b1facc90f58a8d6decca9f4fda2cba19667ba5a9f5f4fcadb63 languageName: node linkType: hard @@ -752,39 +758,39 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-defaults-mode-browser@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.222.0" +"@aws-sdk/util-defaults-mode-browser@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.226.0" dependencies: - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 bowser: ^2.11.0 tslib: ^2.3.1 - checksum: 3e936e38976a9edac22ff32990c55ca01a9f3bb058ebf1f933a1f5240bb6c26394224284db521b9011e88bdb6d567b7aa7584e0a594ae962ad9f0e3740801712 + checksum: 80a1383ef46c9289b7ef88ed1223e07f06bd3989517157199e325492d3da465d42bd9a975432b6d7c0e7e11f21aea02e5d977ddcc28c9f8b9f13e172fce0e657 languageName: node linkType: hard -"@aws-sdk/util-defaults-mode-node@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-defaults-mode-node@npm:3.222.0" +"@aws-sdk/util-defaults-mode-node@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/util-defaults-mode-node@npm:3.226.0" dependencies: - "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/property-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/config-resolver": 3.226.0 + "@aws-sdk/credential-provider-imds": 3.226.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/property-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 37718633f793e9880f4a93e6d56cb72b1cfc4e45d3177d2065e5179788941cf0f43fb45c740763debbe33fc8a62d1d09c3fe87809c71c039a5dd071cec3a0306 + checksum: cb34426f745aa3965fe25d5c8e38eb4d1c3f85f6f071995b15ecad48afcd0ca01a01b7f572c26dacd917134d9c676625492df8f6fb01d702ad6becb65bd34105 languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-endpoints@npm:3.222.0" +"@aws-sdk/util-endpoints@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/util-endpoints@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 - checksum: 3e71a50994363b978ab35bc1fee7ab21c157731e0c7364f064d40244058c96188c238b27d2f9097becc548b86e0abaca886cea03e89b8b219fb0d0a7fea6a249 + checksum: a05d38c4901801ff8c33d3469b8248ae07a2bb761e8b87f9eb62d7b977bd447fc8a1601c18692a035662818b223be97957d63d389b5393fdd65227cc25aa7903 languageName: node linkType: hard @@ -806,12 +812,22 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-middleware@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-middleware@npm:3.222.0" +"@aws-sdk/util-middleware@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/util-middleware@npm:3.226.0" dependencies: tslib: ^2.3.1 - checksum: 807dd36731c7aa59658e4eea5747d6d363b5e5715d0d2c5554c265df6729735f31e790e8e6130d5d56b4923e29080a656e19978631a7ff667f969bfdae8c6320 + checksum: 51a4ba9a784943b723a2c57bbb889a4bc743f0f1219000ef73512e259069d63c3baa805aa375277c9d904da23301d0389bc0bd525b0b55274d7658fb62173e55 + languageName: node + linkType: hard + +"@aws-sdk/util-retry@npm:3.229.0": + version: 3.229.0 + resolution: "@aws-sdk/util-retry@npm:3.229.0" + dependencies: + "@aws-sdk/service-error-classification": 3.229.0 + tslib: ^2.3.1 + checksum: e4ab435000abfa1dc21153682ce684302bd6e69d48b7d2c876ff8dfa66793a43223961a3755d05abb1f94f82765eac2b9d48e55c688a957a7f6b5d032bbc46ee languageName: node linkType: hard @@ -824,30 +840,30 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.222.0" +"@aws-sdk/util-user-agent-browser@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.226.0" dependencies: - "@aws-sdk/types": 3.222.0 + "@aws-sdk/types": 3.226.0 bowser: ^2.11.0 tslib: ^2.3.1 - checksum: 14a878c88948fed8c6e19324a6f28088cbb964580e74c97ec319c8afb426f17b35cfbcbc40bb43b977b3a5a9b05aaa254dfc23a028d29802058148f28507f7f1 + checksum: b89b63e03636b98ccb811e713776c8ee5ce92a280edfd429e418dc69bb55b770b47d6118419be76207afe137f293fdb2e87605922714189df8ddbd4573185717 languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.222.0" +"@aws-sdk/util-user-agent-node@npm:3.226.0": + version: 3.226.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.226.0" dependencies: - "@aws-sdk/node-config-provider": 3.222.0 - "@aws-sdk/types": 3.222.0 + "@aws-sdk/node-config-provider": 3.226.0 + "@aws-sdk/types": 3.226.0 tslib: ^2.3.1 peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 36a9cf397196ef6c188d307f6202b10d98629dfe7583dc903e22870b553cca7624e2732f16e9511e690433665966e5adce7472299081eda1acf8d33b4c977ea4 + checksum: a3b620fa13e5e61bc874d777d451ec522f659f933b7d7f7642c10fbb12ce13dd068c2b5370fd6132cca5ddcd22243fb04b4e926a4dd8aedeb08270a9bb49ee74 languageName: node linkType: hard @@ -905,11 +921,11 @@ __metadata: linkType: hard "@bot-whatsapp/bot@npm:*": - version: 0.0.1 - resolution: "@bot-whatsapp/bot@npm:0.0.1" + version: 0.1.2 + resolution: "@bot-whatsapp/bot@npm:0.1.2" dependencies: dotenv: ^16.0.3 - checksum: 4a9e6e4e3793149f65a569a2b672a6c71aa5ca34e169ca2230b4617c268ee0cd68a9bf10311f7a856a514a55e63fba97c2257f796056c25c3881646cebb18107 + checksum: aa3329278a49bede946d536e1ad7d4f807a54dc107a65efcf750d7ec3754f27c5941d760c92dcc63109524df5d5d51208ed5d8a8d7044b084ca8584a8447e3d1 languageName: node linkType: hard @@ -926,11 +942,11 @@ __metadata: linkType: soft "@bot-whatsapp/cli@npm:*": - version: 0.0.1 - resolution: "@bot-whatsapp/cli@npm:0.0.1" + version: 0.1.2 + resolution: "@bot-whatsapp/cli@npm:0.1.2" bin: bot: bin/cli.js - checksum: f58373f5cc4014bc22664452d20ec676645d04ba95c4ea8525db1a6adafa3b183e403c72c8ff670670bad8b56be6da098cc6767c1bffffa086b76e987cf79e86 + checksum: e0cb0ee27a4209b0d7653806a3513c54af91a85b0d065e4e6f47edfa305d762b20f612f345116a1c3117af86e1edf170c2a2687003f123b00290355aa4ec6bee languageName: node linkType: hard @@ -948,12 +964,14 @@ __metadata: linkType: soft "@bot-whatsapp/database@npm:*": - version: 0.0.1 - resolution: "@bot-whatsapp/database@npm:0.0.1" + version: 0.1.2 + resolution: "@bot-whatsapp/database@npm:0.1.2" dependencies: dotenv: ^16.0.3 mongodb: ^4.11.0 - checksum: cc86a9a1117d5a3b4092f42cb138f8d04f6cacf0b9d6994a2c6f8ead7317c1d4acd8aee824ad4dfb4d6294646d1a32a49d37847d3b44bd35df86cdc18af675c4 + mysql2: ^2.3.3 + stormdb: ^0.6.0 + checksum: 48b6f5e425ec05641a33494fc5169ea6b8c129026821507d7710196e6fb1c0902f09a4cb2efab956e67805d1b3deff93184c85745f46b3533d7d2c11a3d64549 languageName: node linkType: hard @@ -969,12 +987,12 @@ __metadata: linkType: soft "@bot-whatsapp/provider@npm:*": - version: 0.0.1 - resolution: "@bot-whatsapp/provider@npm:0.0.1" + version: 0.1.2 + resolution: "@bot-whatsapp/provider@npm:0.1.2" dependencies: "@bot-whatsapp/bot": "*" qr-image: ^3.2.0 - checksum: 01ffa3f06ed90cffd4157b2c81b7ed705ffd708ca49cb2b051de767959b97c100b84ab0ae2f1c46407007e42e3bbb29ad04e074829041b048317939ebf6569ca + checksum: 526d336e622ecec94f49cc726b7f0e3be6f40b5878daea8cdb1642a8e40441bc23c85ab30abc6b03f4b98581872bda1f94a7e73ae5270f66922d54c2c975cd13 languageName: node linkType: hard @@ -1675,8 +1693,8 @@ __metadata: linkType: hard "@rollup/plugin-commonjs@npm:^23.0.2": - version: 23.0.3 - resolution: "@rollup/plugin-commonjs@npm:23.0.3" + version: 23.0.4 + resolution: "@rollup/plugin-commonjs@npm:23.0.4" dependencies: "@rollup/pluginutils": ^5.0.1 commondir: ^1.0.1 @@ -1689,7 +1707,7 @@ __metadata: peerDependenciesMeta: rollup: optional: true - checksum: 925289c1694e871065d741ce210621df894febc267b9ca574dfe24e00a48b436f3eaa6a6f6d00312a78c9b51cc0cad7abf13b97fc455395576007c681d7ec58d + checksum: 32d84de06140d4d050c0b402c6a6d858a6f970c3d6f50ea1fba40495b0cd0f977486513639875058287885cfbddc6f8b1ab5ebbe0d28f0364506b372fd4b0bd6 languageName: node linkType: hard @@ -1802,11 +1820,11 @@ __metadata: linkType: hard "@types/better-sqlite3@npm:^7.6.0": - version: 7.6.2 - resolution: "@types/better-sqlite3@npm:7.6.2" + version: 7.6.3 + resolution: "@types/better-sqlite3@npm:7.6.3" dependencies: "@types/node": "*" - checksum: 554a9f6bda9ccd5cb503d45f08586f64d09907838cde55f5077337f2cc50b0a13875b1e0e59047dc5da2955132e11eb6459faabc2775ef3ae1248bbb697fdc77 + checksum: 37ffd2507beb55f284261fc72b2f0b5585aecd65ffaffbc1f48a4d59958c3bcc16e54b83d9fd6af5f6a0edab830e384aef7ed79dbbfc3d443f850cb1eab091f5 languageName: node linkType: hard @@ -1931,10 +1949,10 @@ __metadata: languageName: node linkType: hard -"@types/node@latest, @types/node@npm:*": - version: 18.11.10 - resolution: "@types/node@npm:18.11.10" - checksum: 0f60cb090b2ee91fcd3dc4311bc1ed7889b92f14644c0069f100776f86474c12eebbcc6c75bc0d7d96b975a103b4d5d6b3c22b4e88bea6e7f4e2b1bb0daf5ea8 +"@types/node@npm:*, @types/node@npm:latest": + version: 18.11.14 + resolution: "@types/node@npm:18.11.14" + checksum: 1effaf6d55bbcccde9bca763e6454ebf92047726450256ccc0673bf44e4661fbddcd788b0779bad8a13809b05a7bdcbfba81db0713235478b866d553be864be9 languageName: node linkType: hard @@ -2663,9 +2681,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001399, caniuse-lite@npm:^1.0.30001400": - version: 1.0.30001436 - resolution: "caniuse-lite@npm:1.0.30001436" - checksum: 7928ac7d93741a81b3005ca4623b133e7d790828be70b26ee55e4860facc59bc344f4092e20034981070a4714f70814c8be4929be4b22728031784f267f69099 + version: 1.0.30001439 + resolution: "caniuse-lite@npm:1.0.30001439" + checksum: 3912dd536c9735713ca85e47721988bbcefb881ddb4886b0b9923fa984247fd22cba032cf268e57d158af0e8a2ae2eae042ae01942a1d6d7849fa9fa5d62fb82 languageName: node linkType: hard @@ -3138,14 +3156,14 @@ __metadata: linkType: hard "cosmiconfig-typescript-loader@npm:^4.0.0": - version: 4.2.0 - resolution: "cosmiconfig-typescript-loader@npm:4.2.0" + version: 4.3.0 + resolution: "cosmiconfig-typescript-loader@npm:4.3.0" peerDependencies: "@types/node": "*" cosmiconfig: ">=7" ts-node: ">=10" typescript: ">=3" - checksum: bbfe0dd4b8afe93880dbd85aeae551799ff05ecec23b7490bab56366d8362024ee12da954c86c16448d5919c47f0ac23d5d4e64062cda09e6f0ff63c9e080346 + checksum: ea61dfd8e112cf2bb18df0ef89280bd3ae3dd5b997b4a9fc22bbabdc02513aadfbc6d4e15e922b6a9a5d987e9dad42286fa38caf77a9b8dcdbe7d4ce1c9db4fb languageName: node linkType: hard @@ -4726,11 +4744,11 @@ __metadata: linkType: hard "globals@npm:^13.15.0": - version: 13.18.0 - resolution: "globals@npm:13.18.0" + version: 13.19.0 + resolution: "globals@npm:13.19.0" dependencies: type-fest: ^0.20.2 - checksum: 9fdaa74cfd5d4ac91319662f512c29b11d1d2deb9c8a20d3998097671deba83d195f20730b2345887de3ddab958a6fa68952feed9ae836ee4594a82ace62fdb4 + checksum: a000dbd00bcf28f0941d8a29c3522b1c3b8e4bfe4e60e262c477a550c3cbbe8dbe2925a6905f037acd40f9a93c039242e1f7079c76b0fd184bc41dcc3b5c8e2e languageName: node linkType: hard @@ -6401,6 +6419,15 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^4.0.0": + version: 4.0.0 + resolution: "minipass@npm:4.0.0" + dependencies: + yallist: ^4.0.0 + checksum: 7a609afbf394abfcf9c48e6c90226f471676c8f2a67f07f6838871afb03215ede431d1433feffe1b855455bcb13ef0eb89162841b9796109d6fed8d89790f381 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -7109,13 +7136,13 @@ __metadata: linkType: hard "postcss@npm:^8.4.16, postcss@npm:^8.4.18": - version: 8.4.19 - resolution: "postcss@npm:8.4.19" + version: 8.4.20 + resolution: "postcss@npm:8.4.20" dependencies: nanoid: ^3.3.4 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 62782723a385f92b7525f66d29614624de7c5643855423db3a5efd9287e677650300192749adddbbb6734cea9b1d5f5fd4f6ea00ca3f9a95dbbb88f835f5ca64 + checksum: 1a5609ea1c1b204f9c2974a0019ae9eef2d99bf645c2c9aac675166c4cb1005be7b5e2ba196160bc771f5d9ac896ed883f236f888c891e835e59d28fff6651aa languageName: node linkType: hard @@ -7136,11 +7163,11 @@ __metadata: linkType: hard "prettier@npm:^2.8.0": - version: 2.8.0 - resolution: "prettier@npm:2.8.0" + version: 2.8.1 + resolution: "prettier@npm:2.8.1" bin: prettier: bin-prettier.js - checksum: 72004ce0cc9bb097daf3e3833f62495768724392c1d5b178dd47372337616e9e50ecbb0804f236596223f7b5eb1bbe69cefc8957dca21112c5777e77ef73a564 + checksum: 4f21a0f1269f76fb36f54e9a8a1ea4c11e27478958bf860661fb4b6d7ac69aac1581f8724fa98ea3585e56d42a2ea317a17ff6e3324f40cb11ff9e20b73785cc languageName: node linkType: hard @@ -7570,8 +7597,8 @@ __metadata: linkType: hard "rollup@npm:^3.2.3": - version: 3.6.0 - resolution: "rollup@npm:3.6.0" + version: 3.7.4 + resolution: "rollup@npm:3.7.4" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -7579,7 +7606,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 9aefeddf54623cefdbf9d3f75ac4c3e68f08a4e7f0685ac70c49acbc7963307eb80492c519c76010e15af429d40086ab3b3301add09cb8da892bdf89c605cd52 + checksum: 0f2478d740527cdc8f4d81a5676221b0ec9495147cae0e6643627f6ac3ac63bf92385e26936ed8ef9ed06678a2ff7d8398489a235581c590f149149a003870d8 languageName: node linkType: hard @@ -8134,16 +8161,16 @@ __metadata: linkType: hard "tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.12 - resolution: "tar@npm:6.1.12" + version: 6.1.13 + resolution: "tar@npm:6.1.13" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 - minipass: ^3.0.0 + minipass: ^4.0.0 minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: 49d72e4420944e7ede2782d6b0826a6ede6cdab23c7de63470917e7a78166bc4d5b1a96279d3d79a85f1ba5a17cd37c0acbb3cbff19a07447691445b8b051c55 + checksum: 8a278bed123aa9f53549b256a36b719e317c8b96fe86a63406f3c62887f78267cea9b22dc6f7007009738509800d4a4dccc444abd71d762287c90f35b002eb1c languageName: node linkType: hard @@ -8387,7 +8414,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.9.3, typescript@npm:^4.6.4": +"typescript@npm:4.9.3": version: 4.9.3 resolution: "typescript@npm:4.9.3" bin: @@ -8397,7 +8424,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@4.9.3#~builtin, typescript@patch:typescript@^4.6.4#~builtin": +"typescript@npm:^4.6.4": + version: 4.9.4 + resolution: "typescript@npm:4.9.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: e782fb9e0031cb258a80000f6c13530288c6d63f1177ed43f770533fdc15740d271554cdae86701c1dd2c83b082cea808b07e97fd68b38a172a83dbf9e0d0ef9 + languageName: node + linkType: hard + +"typescript@patch:typescript@4.9.3#~builtin": version: 4.9.3 resolution: "typescript@patch:typescript@npm%3A4.9.3#~builtin::version=4.9.3&hash=d73830" bin: @@ -8407,6 +8444,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@^4.6.4#~builtin": + version: 4.9.4 + resolution: "typescript@patch:typescript@npm%3A4.9.4#~builtin::version=4.9.4&hash=d73830" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 37f6e2c3c5e2aa5934b85b0fddbf32eeac8b1bacf3a5b51d01946936d03f5377fe86255d4e5a4ae628fd0cd553386355ad362c57f13b4635064400f3e8e05b9d + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -8806,9 +8853,9 @@ __metadata: languageName: node linkType: hard -wrangler@latest: - version: 2.5.0 - resolution: "wrangler@npm:2.5.0" +"wrangler@npm:latest": + version: 2.6.2 + resolution: "wrangler@npm:2.6.2" dependencies: "@cloudflare/kv-asset-handler": ^0.2.0 "@esbuild-plugins/node-globals-polyfill": ^0.1.1 @@ -8832,7 +8879,7 @@ wrangler@latest: bin: wrangler: bin/wrangler.js wrangler2: bin/wrangler.js - checksum: 34f585a9b76b0a650c45dfb62b83616834ae415e1fb097b8bc66691bba2eb658c335f8ce6748ca19b2a13f2b33e44935dd335ad22ba53b51ee9ed322e14e011c + checksum: 2df66e168a2dfc4c035f23b2bd5de0fd33c1c006689ed3ea682b01fc7c5ccc98248ce393b07a35ee27280b0b3151e6299cd16b9b187e0744e4fa0e63e543be8f languageName: node linkType: hard From 337c2e94bccd0ae173958fe2db08b494bdc93c28 Mon Sep 17 00:00:00 2001 From: Juan Daniel Date: Tue, 13 Dec 2022 16:37:44 +0100 Subject: [PATCH 11/20] feat(provider): :zap: added tamplate venom --- starters/apps/base-venom-memory/README.md | 12 +++++++++ starters/apps/base-venom-memory/app.js | 28 ++++++++++++++++++++ starters/apps/base-venom-memory/package.json | 20 ++++++++++++++ starters/apps/base-venom-mongo/README.md | 12 +++++++++ starters/apps/base-venom-mongo/app.js | 28 ++++++++++++++++++++ starters/apps/base-venom-mongo/package.json | 20 ++++++++++++++ starters/apps/base-venom-mysql/README.md | 12 +++++++++ starters/apps/base-venom-mysql/app.js | 28 ++++++++++++++++++++ starters/apps/base-venom-mysql/package.json | 20 ++++++++++++++ 9 files changed, 180 insertions(+) create mode 100644 starters/apps/base-venom-memory/README.md create mode 100644 starters/apps/base-venom-memory/app.js create mode 100644 starters/apps/base-venom-memory/package.json create mode 100644 starters/apps/base-venom-mongo/README.md create mode 100644 starters/apps/base-venom-mongo/app.js create mode 100644 starters/apps/base-venom-mongo/package.json create mode 100644 starters/apps/base-venom-mysql/README.md create mode 100644 starters/apps/base-venom-mysql/app.js create mode 100644 starters/apps/base-venom-mysql/package.json diff --git a/starters/apps/base-venom-memory/README.md b/starters/apps/base-venom-memory/README.md new file mode 100644 index 0000000..f8e0e90 --- /dev/null +++ b/starters/apps/base-venom-memory/README.md @@ -0,0 +1,12 @@ +### BASE APP + +Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde. +- Bienvenido a mi tienda +- Como puedo ayudarte? +- Tengo: Zapatos Bolsos etc.. + +------ +- [Discord](https://link.codigoencasa.com/DISCORD) +- [Twitter](https://twitter.com/leifermendez) +- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR) +- [Telegram](https://t.me/leifermendez) diff --git a/starters/apps/base-venom-memory/app.js b/starters/apps/base-venom-memory/app.js new file mode 100644 index 0000000..11d3aa4 --- /dev/null +++ b/starters/apps/base-venom-memory/app.js @@ -0,0 +1,28 @@ +const { + createBot, + createProvider, + createFlow, + addKeyword, +} = require('@bot-whatsapp/bot') + +const WebWhatsappProvider = require('@bot-whatsapp/provider/venom') +const MockAdapter = require('@bot-whatsapp/database/mock') + +const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) + .addAnswer('Bienvenido a mi tienda') + .addAnswer('Como puedo ayudarte?') + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + const adapterProvider = createProvider(WebWhatsappProvider) + + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() diff --git a/starters/apps/base-venom-memory/package.json b/starters/apps/base-venom-memory/package.json new file mode 100644 index 0000000..d44383b --- /dev/null +++ b/starters/apps/base-venom-memory/package.json @@ -0,0 +1,20 @@ +{ + "name": "bot-whatsapp-base", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "pre-copy": "cd .. && yarn run copy.lib base-venom-mysql", + "start": "node app.js" + }, + "keywords": [], + "dependencies": { + "venom-bot": "^4.3.7", + "@bot-whatsapp/bot": "latest", + "@bot-whatsapp/cli": "latest", + "@bot-whatsapp/database": "latest", + "@bot-whatsapp/provider": "latest" + }, + "author": "", + "license": "ISC" +} diff --git a/starters/apps/base-venom-mongo/README.md b/starters/apps/base-venom-mongo/README.md new file mode 100644 index 0000000..f8e0e90 --- /dev/null +++ b/starters/apps/base-venom-mongo/README.md @@ -0,0 +1,12 @@ +### BASE APP + +Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde. +- Bienvenido a mi tienda +- Como puedo ayudarte? +- Tengo: Zapatos Bolsos etc.. + +------ +- [Discord](https://link.codigoencasa.com/DISCORD) +- [Twitter](https://twitter.com/leifermendez) +- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR) +- [Telegram](https://t.me/leifermendez) diff --git a/starters/apps/base-venom-mongo/app.js b/starters/apps/base-venom-mongo/app.js new file mode 100644 index 0000000..11d3aa4 --- /dev/null +++ b/starters/apps/base-venom-mongo/app.js @@ -0,0 +1,28 @@ +const { + createBot, + createProvider, + createFlow, + addKeyword, +} = require('@bot-whatsapp/bot') + +const WebWhatsappProvider = require('@bot-whatsapp/provider/venom') +const MockAdapter = require('@bot-whatsapp/database/mock') + +const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) + .addAnswer('Bienvenido a mi tienda') + .addAnswer('Como puedo ayudarte?') + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + const adapterProvider = createProvider(WebWhatsappProvider) + + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() diff --git a/starters/apps/base-venom-mongo/package.json b/starters/apps/base-venom-mongo/package.json new file mode 100644 index 0000000..d44383b --- /dev/null +++ b/starters/apps/base-venom-mongo/package.json @@ -0,0 +1,20 @@ +{ + "name": "bot-whatsapp-base", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "pre-copy": "cd .. && yarn run copy.lib base-venom-mysql", + "start": "node app.js" + }, + "keywords": [], + "dependencies": { + "venom-bot": "^4.3.7", + "@bot-whatsapp/bot": "latest", + "@bot-whatsapp/cli": "latest", + "@bot-whatsapp/database": "latest", + "@bot-whatsapp/provider": "latest" + }, + "author": "", + "license": "ISC" +} diff --git a/starters/apps/base-venom-mysql/README.md b/starters/apps/base-venom-mysql/README.md new file mode 100644 index 0000000..f8e0e90 --- /dev/null +++ b/starters/apps/base-venom-mysql/README.md @@ -0,0 +1,12 @@ +### BASE APP + +Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde. +- Bienvenido a mi tienda +- Como puedo ayudarte? +- Tengo: Zapatos Bolsos etc.. + +------ +- [Discord](https://link.codigoencasa.com/DISCORD) +- [Twitter](https://twitter.com/leifermendez) +- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR) +- [Telegram](https://t.me/leifermendez) diff --git a/starters/apps/base-venom-mysql/app.js b/starters/apps/base-venom-mysql/app.js new file mode 100644 index 0000000..11d3aa4 --- /dev/null +++ b/starters/apps/base-venom-mysql/app.js @@ -0,0 +1,28 @@ +const { + createBot, + createProvider, + createFlow, + addKeyword, +} = require('@bot-whatsapp/bot') + +const WebWhatsappProvider = require('@bot-whatsapp/provider/venom') +const MockAdapter = require('@bot-whatsapp/database/mock') + +const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) + .addAnswer('Bienvenido a mi tienda') + .addAnswer('Como puedo ayudarte?') + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + const adapterProvider = createProvider(WebWhatsappProvider) + + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() diff --git a/starters/apps/base-venom-mysql/package.json b/starters/apps/base-venom-mysql/package.json new file mode 100644 index 0000000..d44383b --- /dev/null +++ b/starters/apps/base-venom-mysql/package.json @@ -0,0 +1,20 @@ +{ + "name": "bot-whatsapp-base", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "pre-copy": "cd .. && yarn run copy.lib base-venom-mysql", + "start": "node app.js" + }, + "keywords": [], + "dependencies": { + "venom-bot": "^4.3.7", + "@bot-whatsapp/bot": "latest", + "@bot-whatsapp/cli": "latest", + "@bot-whatsapp/database": "latest", + "@bot-whatsapp/provider": "latest" + }, + "author": "", + "license": "ISC" +} From 1b83871cca6996c6acae3d4c8b6b42aec05ea146 Mon Sep 17 00:00:00 2001 From: Juan Daniel Date: Tue, 13 Dec 2022 19:44:41 +0100 Subject: [PATCH 12/20] feat(provider): :zap: solution error buttons --- packages/provider/src/venom/index.js | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/packages/provider/src/venom/index.js b/packages/provider/src/venom/index.js index b2b1b8a..4e211b5 100644 --- a/packages/provider/src/venom/index.js +++ b/packages/provider/src/venom/index.js @@ -1,6 +1,6 @@ const { ProviderClass } = require('@bot-whatsapp/bot') const venom = require('venom-bot') -const { cleanNumber, generateImage } = require('./utils/utils') +const { cleanNumber } = require('./utils/utils') class VenomProvider extends ProviderClass { constructor() { @@ -23,7 +23,7 @@ class VenomProvider extends ProviderClass { }) } - generateQr = (qr) => { + generateQr = () => { this.emit('require_action', { instructions: [ `Debes escanear el QR Code para iniciar session reivsa qr.svg`, @@ -41,16 +41,6 @@ class VenomProvider extends ProviderClass { }) } - sendMessage = async (number, message) => { - const numero = cleanNumber(number) - return this.client.sendText(numero, message) - } - - sendButtons = async (number, message, buttons = []) => { - const buttonMessage = new Buttons(message, buttons, '', '') - return this.vendor.sendMessage(number, buttonMessage) - } - sendMessage = async (userId, message, { options }) => { console.log('entramos') const number = cleanNumber(userId) From 31c83f5d689a01490d3adb96006f54c2a5d3268b Mon Sep 17 00:00:00 2001 From: Juan Daniel Date: Tue, 13 Dec 2022 19:45:55 +0100 Subject: [PATCH 13/20] feat(provider): :zap: solution error utils venom --- packages/provider/src/venom/utils/utils.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/provider/src/venom/utils/utils.js b/packages/provider/src/venom/utils/utils.js index 9fd916d..15b048e 100644 --- a/packages/provider/src/venom/utils/utils.js +++ b/packages/provider/src/venom/utils/utils.js @@ -1,4 +1,5 @@ const qr = require('qr-image') +const { createWriteStream } = require('fs') const cleanNumber = (number, full = false) => { number = number.replace('@c.us', '') From ca6afbb87fceec12d4a383486ad693905e36881f Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 13:37:57 +0100 Subject: [PATCH 14/20] fix(adapter): :rocket: venom update - cli - qr iamge --- packages/cli/interactive/index.js | 1 + packages/provider/src/venom/index.js | 117 ++- packages/provider/src/venom/utils/utils.js | 35 +- packages/provider/src/web-whatsapp/index.js | 2 +- packages/provider/src/web-whatsapp/utils.js | 2 +- starters/apps/base-venom-memory/package.json | 2 +- starters/apps/base-venom-mongo/package.json | 2 +- yarn.lock | 753 ++++++++++++++++++- 8 files changed, 860 insertions(+), 54 deletions(-) diff --git a/packages/cli/interactive/index.js b/packages/cli/interactive/index.js index 1aa78d3..e6ef4d4 100644 --- a/packages/cli/interactive/index.js +++ b/packages/cli/interactive/index.js @@ -34,6 +34,7 @@ const startInteractive = async () => { choices: [ { title: 'whatsapp-web.js (gratis)', value: 'wweb' }, { title: 'Twilio', value: 'twilio' }, + { title: 'Venom (gratis)', value: 'venom' }, { title: 'Baileys (gratis)', value: 'bailey', disabled: true }, { title: 'API Oficial (Meta)', value: 'meta', disabled: true }, ], diff --git a/packages/provider/src/venom/index.js b/packages/provider/src/venom/index.js index 4e211b5..04f5e3b 100644 --- a/packages/provider/src/venom/index.js +++ b/packages/provider/src/venom/index.js @@ -1,49 +1,112 @@ const { ProviderClass } = require('@bot-whatsapp/bot') const venom = require('venom-bot') -const { cleanNumber } = require('./utils/utils') +const { + venomCleanNumber, + venomGenerateImage, + venomisValidNumber, +} = require('./utils/utils') +/** + * ⚙️ VenomProvider: Es una clase tipo adaptor + * que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas) + * https://github.com/orkestral/venom + */ class VenomProvider extends ProviderClass { + vendor + constructor() { super() - this.vendor - venom - .create( - { - session: 'session-1', //nombre de la sesion o id - multidevice: true, - }, - (base64Qrimg) => this.generateQr(base64Qrimg) - ) - .then((client) => { - this.vendor = client - this.start() - }) - .catch((erro) => { - console.log(erro) - }) + this.init().then(() => this.initBusEvents()) } - generateQr = () => { + /** + * Iniciamos el Proveedor Venom + */ + init = async () => { + try { + const client = await venom.create( + { + session: 'session-base', + multidevice: true, + }, + (base) => this.generateQr(base), + undefined, + { logQR: false } + ) + this.vendor = client + } catch (e) { + this.emit('auth_failure', { + instructions: [ + `Ocurrio un error con la inicializacion de venom`, + `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, + `(Puedes abrir un ISSUE) https://github.com/leifermendez/bot-whatsapp/issues/new/choose`, + ``, + `${e?.message}`, + ], + }) + } + } + + /** + * Generamos QR Code pra escanear con el Whatsapp + */ + generateQr = (qr) => { + console.clear() this.emit('require_action', { instructions: [ - `Debes escanear el QR Code para iniciar session reivsa qr.svg`, + `Debes escanear el QR Code para iniciar session reivsa qr.png`, `Recuerda que el QR se actualiza cada minuto `, `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, ], }) - //generateImage(qr) + venomGenerateImage(qr) } - start = () => { - this.vendor.onMessage((payload) => { - payload.from = cleanNumber(payload.from, true) - this.emit('message', payload) - }) + /** + * Mapeamos los eventos nativos de https://docs.orkestral.io/venom/#/?id=events + * para tener un standar de eventos + * @returns + */ + busEvents = () => [ + { + event: 'onMessage', + func: (payload) => { + if (payload.from === 'status@broadcast') { + return + } + + if (!venomisValidNumber(payload.from)) { + return + } + payload.from = venomCleanNumber(payload.from, true) + this.emit('message', payload) + }, + }, + ] + + /** + * Iniciamos y mapeamos el BusEvent + * Ejemplo: + * this.vendor.onMessage() 👉 this.vendor["onMessage"]() + */ + initBusEvents = () => { + const listEvents = this.busEvents() + + for (const { event, func } of listEvents) { + if (this.vendor[event]) + this.vendor[event]((payload) => func(payload)) + } } + /** + * Enviar mensaje al usuario + * @param {*} userId + * @param {*} message + * @param {*} param2 + * @returns + */ sendMessage = async (userId, message, { options }) => { - console.log('entramos') - const number = cleanNumber(userId) + const number = venomCleanNumber(userId) if (options?.buttons?.length) return this.sendButtons(number, message, options.buttons) if (options?.media) return this.sendMedia(number, options.media) diff --git a/packages/provider/src/venom/utils/utils.js b/packages/provider/src/venom/utils/utils.js index 15b048e..151f7e0 100644 --- a/packages/provider/src/venom/utils/utils.js +++ b/packages/provider/src/venom/utils/utils.js @@ -1,15 +1,36 @@ -const qr = require('qr-image') -const { createWriteStream } = require('fs') +const { writeFile } = require('fs') -const cleanNumber = (number, full = false) => { +const venomCleanNumber = (number, full = false) => { number = number.replace('@c.us', '') number = !full ? `${number}@c.us` : `${number}` return number } -const generateImage = (base64) => { - let qr_svg = qr.image(base64, { type: 'svg', margin: 4 }) - qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.svg`)) +const venomGenerateImage = (base) => { + const matches = base.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/) + if (matches.length !== 3) { + return new Error('Invalid input string') + } + + let response = {} + response.type = matches[1] + response.data = new Buffer.from(matches[2], 'base64') + + var imageBuffer = response + writeFile( + `${process.cwd()}/qr.png`, + imageBuffer['data'], + 'binary', + (err) => { + if (err != null) throw new Error('ERROR_QR_GENERATE') + return + } + ) } -module.exports = { cleanNumber, generateImage } +const venomisValidNumber = (rawNumber) => { + const regexGroup = /\@g.us\b/gm + const exist = rawNumber.match(regexGroup) + return !exist +} +module.exports = { venomCleanNumber, venomGenerateImage, venomisValidNumber } diff --git a/packages/provider/src/web-whatsapp/index.js b/packages/provider/src/web-whatsapp/index.js index dbfe403..d7593e4 100644 --- a/packages/provider/src/web-whatsapp/index.js +++ b/packages/provider/src/web-whatsapp/index.js @@ -60,7 +60,7 @@ class WebWhatsappProvider extends ProviderClass { func: (qr) => { this.emit('require_action', { instructions: [ - `Debes escanear el QR Code para iniciar session reivsa qr.svg`, + `Debes escanear el QR Code para iniciar session reivsa qr.png`, `Recuerda que el QR se actualiza cada minuto `, `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, ], diff --git a/packages/provider/src/web-whatsapp/utils.js b/packages/provider/src/web-whatsapp/utils.js index 7981649..2f987e2 100644 --- a/packages/provider/src/web-whatsapp/utils.js +++ b/packages/provider/src/web-whatsapp/utils.js @@ -11,7 +11,7 @@ const cleanNumber = (number, full = false) => { } const generateImage = (base64) => { - let qr_svg = qr.image(base64, { type: 'svg', margin: 4 }) + let qr_svg = qr.image(base64, { type: 'png', margin: 4 }) qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.svg`)) } diff --git a/starters/apps/base-venom-memory/package.json b/starters/apps/base-venom-memory/package.json index d44383b..c70807e 100644 --- a/starters/apps/base-venom-memory/package.json +++ b/starters/apps/base-venom-memory/package.json @@ -4,7 +4,7 @@ "description": "", "main": "app.js", "scripts": { - "pre-copy": "cd .. && yarn run copy.lib base-venom-mysql", + "pre-copy": "cd .. && yarn run copy.lib base-venom-memory", "start": "node app.js" }, "keywords": [], diff --git a/starters/apps/base-venom-mongo/package.json b/starters/apps/base-venom-mongo/package.json index d44383b..c0812a7 100644 --- a/starters/apps/base-venom-mongo/package.json +++ b/starters/apps/base-venom-mongo/package.json @@ -4,7 +4,7 @@ "description": "", "main": "app.js", "scripts": { - "pre-copy": "cd .. && yarn run copy.lib base-venom-mysql", + "pre-copy": "cd .. && yarn run copy.lib base-venom-mongo", "start": "node app.js" }, "keywords": [], diff --git a/yarn.lock b/yarn.lock index 8df9fa4..1d26f2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1018,6 +1018,7 @@ __metadata: c8: ^7.12.0 conventional-changelog: ^3.1.25 cross-env: ^7.0.3 + easyqrcodejs-nodejs: ^4.4.5 eslint: ^8.26.0 eslint-config-prettier: ^8.5.0 fs-extra: ^11.1.0 @@ -1027,6 +1028,7 @@ __metadata: prettier: ^2.8.0 pretty-quick: ^3.1.3 prompts: ^2.4.2 + qrcode-base64: ^1.0.1 rimraf: ^3.0.2 rollup: ^3.2.3 rollup-plugin-cleanup: ^3.2.1 @@ -1419,6 +1421,25 @@ __metadata: languageName: node linkType: hard +"@mapbox/node-pre-gyp@npm:^1.0.0": + version: 1.0.10 + resolution: "@mapbox/node-pre-gyp@npm:1.0.10" + dependencies: + detect-libc: ^2.0.0 + https-proxy-agent: ^5.0.0 + make-dir: ^3.1.0 + node-fetch: ^2.6.7 + nopt: ^5.0.0 + npmlog: ^5.0.1 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.11 + bin: + node-pre-gyp: bin/node-pre-gyp + checksum: 1a98db05d955b74dad3814679593df293b9194853698f3f5f1ed00ecd93128cdd4b14fb8767fe44ac6981ef05c23effcfdc88710e7c1de99ccb6f647890597c8 + languageName: node + linkType: hard + "@mdx-js/mdx@npm:2.1.5": version: 2.1.5 resolution: "@mdx-js/mdx@npm:2.1.5" @@ -1782,6 +1803,13 @@ __metadata: languageName: node linkType: hard +"@trysound/sax@npm:0.2.0": + version: 0.2.0 + resolution: "@trysound/sax@npm:0.2.0" + checksum: 11226c39b52b391719a2a92e10183e4260d9651f86edced166da1d95f39a0a1eaa470e44d14ac685ccd6d3df7e2002433782872c0feeb260d61e80f21250e65c + languageName: node + linkType: hard + "@tsconfig/node10@npm:^1.0.7": version: 1.0.9 resolution: "@tsconfig/node10@npm:1.0.9" @@ -2154,13 +2182,30 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^1.0.0": +"abab@npm:^2.0.5, abab@npm:^2.0.6": + version: 2.0.6 + resolution: "abab@npm:2.0.6" + checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e + languageName: node + linkType: hard + +"abbrev@npm:1, abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 languageName: node linkType: hard +"acorn-globals@npm:^6.0.0": + version: 6.0.0 + resolution: "acorn-globals@npm:6.0.0" + dependencies: + acorn: ^7.1.1 + acorn-walk: ^7.1.1 + checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -2181,7 +2226,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.0.0": +"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f @@ -2195,7 +2240,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.0.0": +"acorn@npm:^7.0.0, acorn@npm:^7.1.1": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -2204,7 +2249,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.8.0": +"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.0": version: 8.8.1 resolution: "acorn@npm:8.8.1" bin: @@ -2332,6 +2377,16 @@ __metadata: languageName: node linkType: hard +"are-we-there-yet@npm:^2.0.0": + version: 2.0.0 + resolution: "are-we-there-yet@npm:2.0.0" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 6c80b4fd04ecee6ba6e737e0b72a4b41bdc64b7d279edfc998678567ff583c8df27e27523bc789f2c99be603ffa9eaa612803da1d886962d2086e7ff6fa90c7c + languageName: node + linkType: hard + "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -2407,6 +2462,13 @@ __metadata: languageName: node linkType: hard +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be + languageName: node + linkType: hard + "autoprefixer@npm:10.4.11": version: 10.4.11 resolution: "autoprefixer@npm:10.4.11" @@ -2460,6 +2522,13 @@ __metadata: languageName: node linkType: hard +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 + languageName: node + linkType: hard + "bot-whatsapp-docs@workspace:packages/docs": version: 0.0.0-use.local resolution: "bot-whatsapp-docs@workspace:packages/docs" @@ -2535,6 +2604,13 @@ __metadata: languageName: node linkType: hard +"browser-process-hrtime@npm:^1.0.0": + version: 1.0.0 + resolution: "browser-process-hrtime@npm:1.0.0" + checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f + languageName: node + linkType: hard + "browserslist@npm:^4.21.3": version: 4.21.4 resolution: "browserslist@npm:4.21.4" @@ -2687,6 +2763,18 @@ __metadata: languageName: node linkType: hard +"canvas@npm:^2.8.0": + version: 2.10.2 + resolution: "canvas@npm:2.10.2" + dependencies: + "@mapbox/node-pre-gyp": ^1.0.0 + nan: ^2.17.0 + node-gyp: latest + simple-get: ^3.0.3 + checksum: b2e3eb4c3635fa2f67857619621c3d314f935a9e51904536dadf4908ab580dff4f5bcbaafe6eb0255247fa027ca494d5cd97c33376a49a0f994997263fa9944b + languageName: node + linkType: hard + "ccount@npm:^2.0.0": version: 2.0.1 resolution: "ccount@npm:2.0.1" @@ -2847,7 +2935,7 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.3": +"color-support@npm:^1.1.2, color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" bin: @@ -2863,6 +2951,15 @@ __metadata: languageName: node linkType: hard +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + "comma-separated-tokens@npm:^2.0.0": version: 2.0.3 resolution: "comma-separated-tokens@npm:2.0.3" @@ -2877,6 +2974,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc + languageName: node + linkType: hard + "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -2913,7 +3017,7 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.1.0": +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed @@ -3227,6 +3331,36 @@ __metadata: languageName: node linkType: hard +"css-select@npm:^4.1.3": + version: 4.3.0 + resolution: "css-select@npm:4.3.0" + dependencies: + boolbase: ^1.0.0 + css-what: ^6.0.1 + domhandler: ^4.3.1 + domutils: ^2.8.0 + nth-check: ^2.0.1 + checksum: d6202736839194dd7f910320032e7cfc40372f025e4bf21ca5bf6eb0a33264f322f50ba9c0adc35dadd342d3d6fae5ca244779a4873afbfa76561e343f2058e0 + languageName: node + linkType: hard + +"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": + version: 1.1.3 + resolution: "css-tree@npm:1.1.3" + dependencies: + mdn-data: 2.0.14 + source-map: ^0.6.1 + checksum: 79f9b81803991b6977b7fcb1588799270438274d89066ce08f117f5cdb5e20019b446d766c61506dd772c839df84caa16042d6076f20c97187f5abe3b50e7d1f + languageName: node + linkType: hard + +"css-what@npm:^6.0.1": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe + languageName: node + linkType: hard + "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -3236,6 +3370,38 @@ __metadata: languageName: node linkType: hard +"csso@npm:^4.2.0": + version: 4.2.0 + resolution: "csso@npm:4.2.0" + dependencies: + css-tree: ^1.1.2 + checksum: 380ba9663da3bcea58dee358a0d8c4468bb6539be3c439dc266ac41c047217f52fd698fb7e4b6b6ccdfb8cf53ef4ceed8cc8ceccb8dfca2aa628319826b5b998 + languageName: node + linkType: hard + +"cssom@npm:^0.5.0": + version: 0.5.0 + resolution: "cssom@npm:0.5.0" + checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 + languageName: node + linkType: hard + +"cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 + languageName: node + linkType: hard + +"cssstyle@npm:^2.3.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 + languageName: node + linkType: hard + "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -3250,6 +3416,17 @@ __metadata: languageName: node linkType: hard +"data-urls@npm:^3.0.1": + version: 3.0.2 + resolution: "data-urls@npm:3.0.2" + dependencies: + abab: ^2.0.6 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^11.0.0 + checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 + languageName: node + linkType: hard + "dateformat@npm:^3.0.0": version: 3.0.3 resolution: "dateformat@npm:3.0.3" @@ -3286,6 +3463,13 @@ __metadata: languageName: node linkType: hard +"decimal.js@npm:^10.3.1": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae + languageName: node + linkType: hard + "decode-named-character-reference@npm:^1.0.0": version: 1.0.2 resolution: "decode-named-character-reference@npm:1.0.2" @@ -3295,7 +3479,16 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:^0.1.3": +"decompress-response@npm:^4.2.0": + version: 4.2.1 + resolution: "decompress-response@npm:4.2.1" + dependencies: + mimic-response: ^2.0.0 + checksum: 4e783ca4dfe9417354d61349750fe05236f565a4415a6ca20983a311be2371debaedd9104c0b0e7b36e5f167aeaae04f84f1a0b3f8be4162f1d7d15598b8fdba + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 @@ -3316,6 +3509,13 @@ __metadata: languageName: node linkType: hard +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 + languageName: node + linkType: hard + "delegates@npm:^1.0.0": version: 1.0.0 resolution: "delegates@npm:1.0.0" @@ -3351,6 +3551,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0": + version: 2.0.1 + resolution: "detect-libc@npm:2.0.1" + checksum: ccb05fcabbb555beb544d48080179c18523a343face9ee4e1a86605a8715b4169f94d663c21a03c310ac824592f2ba9a5270218819bb411ad7be578a527593d7 + languageName: node + linkType: hard + "detect-newline@npm:^3.1.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -3426,6 +3633,53 @@ __metadata: languageName: node linkType: hard +"dom-serializer@npm:^1.0.1": + version: 1.4.1 + resolution: "dom-serializer@npm:1.4.1" + dependencies: + domelementtype: ^2.0.1 + domhandler: ^4.2.0 + entities: ^2.0.0 + checksum: fbb0b01f87a8a2d18e6e5a388ad0f7ec4a5c05c06d219377da1abc7bb0f674d804f4a8a94e3f71ff15f6cb7dcfc75704a54b261db672b9b3ab03da6b758b0b22 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 + languageName: node + linkType: hard + +"domexception@npm:^4.0.0": + version: 4.0.0 + resolution: "domexception@npm:4.0.0" + dependencies: + webidl-conversions: ^7.0.0 + checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 + languageName: node + linkType: hard + +"domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": + version: 4.3.1 + resolution: "domhandler@npm:4.3.1" + dependencies: + domelementtype: ^2.2.0 + checksum: 4c665ceed016e1911bf7d1dadc09dc888090b64dee7851cccd2fcf5442747ec39c647bb1cb8c8919f8bbdd0f0c625a6bafeeed4b2d656bbecdbae893f43ffaaa + languageName: node + linkType: hard + +"domutils@npm:^2.8.0": + version: 2.8.0 + resolution: "domutils@npm:2.8.0" + dependencies: + dom-serializer: ^1.0.1 + domelementtype: ^2.2.0 + domhandler: ^4.2.0 + checksum: abf7434315283e9aadc2a24bac0e00eab07ae4313b40cc239f89d84d7315ebdfd2fb1b5bf750a96bc1b4403d7237c7b2ebf60459be394d625ead4ca89b934391 + languageName: node + linkType: hard + "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -3459,6 +3713,17 @@ __metadata: languageName: node linkType: hard +"easyqrcodejs-nodejs@npm:^4.4.5": + version: 4.4.5 + resolution: "easyqrcodejs-nodejs@npm:4.4.5" + dependencies: + canvas: ^2.8.0 + jsdom: ^19.0.0 + svgo: ^2.8.0 + checksum: 81efce3629677ce0e77f7b2bc967afe5d3cb2ad769a0045d5e5d2e3d138e5036c4481c951bbcd1623825566af2ef36359d57e4aa5b7d53de20446821fba86d4d + languageName: node + linkType: hard + "electron-to-chromium@npm:^1.4.251": version: 1.4.284 resolution: "electron-to-chromium@npm:1.4.284" @@ -3491,6 +3756,13 @@ __metadata: languageName: node linkType: hard +"entities@npm:^2.0.0": + version: 2.2.0 + resolution: "entities@npm:2.2.0" + checksum: 19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -3963,6 +4235,25 @@ __metadata: languageName: node linkType: hard +"escodegen@npm:^2.0.0": + version: 2.0.0 + resolution: "escodegen@npm:2.0.0" + dependencies: + esprima: ^4.0.1 + estraverse: ^5.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef + languageName: node + linkType: hard + "eslint-config-prettier@npm:^8.5.0": version: 8.5.0 resolution: "eslint-config-prettier@npm:8.5.0" @@ -4137,6 +4428,16 @@ __metadata: languageName: node linkType: hard +"esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + "esquery@npm:^1.4.0": version: 1.4.0 resolution: "esquery@npm:1.4.0" @@ -4330,7 +4631,7 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c @@ -4459,6 +4760,17 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c + languageName: node + linkType: hard + "formdata-polyfill@npm:^4.0.10": version: 4.0.10 resolution: "formdata-polyfill@npm:4.0.10" @@ -4550,6 +4862,23 @@ __metadata: languageName: node linkType: hard +"gauge@npm:^3.0.0": + version: 3.0.2 + resolution: "gauge@npm:3.0.2" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.2 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.1 + object-assign: ^4.1.1 + signal-exit: ^3.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.2 + checksum: 81296c00c7410cdd48f997800155fbead4f32e4f82109be0719c63edc8560e6579946cc8abd04205297640691ec26d21b578837fd13a4e96288ab4b40b1dc3e9 + languageName: node + linkType: hard + "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -4904,6 +5233,15 @@ __metadata: languageName: node linkType: hard +"html-encoding-sniffer@npm:^3.0.0": + version: 3.0.0 + resolution: "html-encoding-sniffer@npm:3.0.0" + dependencies: + whatwg-encoding: ^2.0.0 + checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -4985,7 +5323,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -5228,6 +5566,13 @@ __metadata: languageName: node linkType: hard +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab + languageName: node + linkType: hard + "is-property@npm:^1.0.2": version: 1.0.2 resolution: "is-property@npm:1.0.2" @@ -5354,6 +5699,46 @@ __metadata: languageName: node linkType: hard +"jsdom@npm:^19.0.0": + version: 19.0.0 + resolution: "jsdom@npm:19.0.0" + dependencies: + abab: ^2.0.5 + acorn: ^8.5.0 + acorn-globals: ^6.0.0 + cssom: ^0.5.0 + cssstyle: ^2.3.0 + data-urls: ^3.0.1 + decimal.js: ^10.3.1 + domexception: ^4.0.0 + escodegen: ^2.0.0 + form-data: ^4.0.0 + html-encoding-sniffer: ^3.0.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-potential-custom-element-name: ^1.0.1 + nwsapi: ^2.2.0 + parse5: 6.0.1 + saxes: ^5.0.1 + symbol-tree: ^3.2.4 + tough-cookie: ^4.0.0 + w3c-hr-time: ^1.0.2 + w3c-xmlserializer: ^3.0.0 + webidl-conversions: ^7.0.0 + whatwg-encoding: ^2.0.0 + whatwg-mimetype: ^3.0.0 + whatwg-url: ^10.0.0 + ws: ^8.2.3 + xml-name-validator: ^4.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 94b693bf4a394097dd96705550bb7b6cd3c8db3c5414e6e9c92a0995ed8b61067597da2f37fca6bed4b5a2f1ef33960ee759522156dccd0b306311988ea87cfb + languageName: node + linkType: hard + "json-parse-better-errors@npm:^1.0.1": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -5468,6 +5853,16 @@ __metadata: languageName: node linkType: hard +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + "lilconfig@npm:^2.0.5, lilconfig@npm:^2.0.6": version: 2.0.6 resolution: "lilconfig@npm:2.0.6" @@ -5674,7 +6069,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0": +"make-dir@npm:^3.0.0, make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -5860,6 +6255,13 @@ __metadata: languageName: node linkType: hard +"mdn-data@npm:2.0.14": + version: 2.0.14 + resolution: "mdn-data@npm:2.0.14" + checksum: 9d0128ed425a89f4cba8f787dca27ad9408b5cb1b220af2d938e2a0629d17d879a34d2cb19318bdb26c3f14c77dd5dfbae67211f5caaf07b61b1f2c5c8c7dc16 + languageName: node + linkType: hard + "memory-pager@npm:^1.0.2": version: 1.5.0 resolution: "memory-pager@npm:1.5.0" @@ -6251,6 +6653,22 @@ __metadata: languageName: node linkType: hard +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: 1.52.0 + checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 + languageName: node + linkType: hard + "mime@npm:^3.0.0": version: 3.0.0 resolution: "mime@npm:3.0.0" @@ -6274,6 +6692,13 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^2.0.0": + version: 2.1.0 + resolution: "mimic-response@npm:2.1.0" + checksum: 014fad6ab936657e5f2f48bd87af62a8e928ebe84472aaf9e14fec4fcb31257a5edff77324d8ac13ddc6685ba5135cf16e381efac324e5f174fb4ddbf902bf07 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -6561,6 +6986,15 @@ __metadata: languageName: node linkType: hard +"nan@npm:^2.17.0": + version: 2.17.0 + resolution: "nan@npm:2.17.0" + dependencies: + node-gyp: latest + checksum: ec609aeaf7e68b76592a3ba96b372aa7f5df5b056c1e37410b0f1deefbab5a57a922061e2c5b369bae9c7c6b5e6eecf4ad2dac8833a1a7d3a751e0a7c7f849ed + languageName: node + linkType: hard + "nanoid@npm:^3.3.3, nanoid@npm:^3.3.4": version: 3.3.4 resolution: "nanoid@npm:3.3.4" @@ -6616,6 +7050,20 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^2.6.7": + version: 2.6.7 + resolution: "node-fetch@npm:2.6.7" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + languageName: node + linkType: hard + "node-forge@npm:^1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -6650,6 +7098,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + "nopt@npm:^6.0.0": version: 6.0.0 resolution: "nopt@npm:6.0.0" @@ -6717,6 +7176,18 @@ __metadata: languageName: node linkType: hard +"npmlog@npm:^5.0.1": + version: 5.0.1 + resolution: "npmlog@npm:5.0.1" + dependencies: + are-we-there-yet: ^2.0.0 + console-control-strings: ^1.1.0 + gauge: ^3.0.0 + set-blocking: ^2.0.0 + checksum: 516b2663028761f062d13e8beb3f00069c5664925871a9b57989642ebe09f23ab02145bf3ab88da7866c4e112cafff72401f61a672c7c8a20edc585a7016ef5f + languageName: node + linkType: hard + "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -6741,7 +7212,23 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.0.1": +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: ^1.0.0 + checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.0": + version: 2.2.2 + resolution: "nwsapi@npm:2.2.2" + checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -6794,6 +7281,20 @@ __metadata: languageName: node linkType: hard +"optionator@npm:^0.8.1": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.6 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + word-wrap: ~1.2.3 + checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + languageName: node + linkType: hard + "optionator@npm:^0.9.1": version: 0.9.1 resolution: "optionator@npm:0.9.1" @@ -6948,6 +7449,13 @@ __metadata: languageName: node linkType: hard +"parse5@npm:6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -7153,6 +7661,13 @@ __metadata: languageName: node linkType: hard +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + languageName: node + linkType: hard + "prettier@npm:2.7.1": version: 2.7.1 resolution: "prettier@npm:2.7.1" @@ -7237,6 +7752,13 @@ __metadata: languageName: node linkType: hard +"psl@npm:^1.1.33": + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d + languageName: node + linkType: hard + "pump@npm:^3.0.0": version: 3.0.0 resolution: "pump@npm:3.0.0" @@ -7268,6 +7790,20 @@ __metadata: languageName: node linkType: hard +"qrcode-base64@npm:^1.0.1": + version: 1.0.1 + resolution: "qrcode-base64@npm:1.0.1" + checksum: ac9f3767268e5a9a74be09b4771a5d421ef459889bd74e9f20a7a09430415174dd0f012af6e4d4c9eb93677d633f488e7c17a2b730f4795558d245762492318e + languageName: node + linkType: hard + +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -7454,6 +7990,13 @@ __metadata: languageName: node linkType: hard +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff + languageName: node + linkType: hard + "resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": version: 5.0.0 resolution: "resolve-from@npm:5.0.0" @@ -7658,6 +8201,15 @@ __metadata: languageName: node linkType: hard +"saxes@npm:^5.0.1": + version: 5.0.1 + resolution: "saxes@npm:5.0.1" + dependencies: + xmlchars: ^2.2.0 + checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + languageName: node + linkType: hard + "selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": version: 2.1.1 resolution: "selfsigned@npm:2.1.1" @@ -7751,13 +8303,31 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^3.0.3": + version: 3.1.1 + resolution: "simple-get@npm:3.1.1" + dependencies: + decompress-response: ^4.2.0 + once: ^1.3.1 + simple-concat: ^1.0.0 + checksum: 80195e70bf171486e75c31e28e5485468195cc42f85940f8b45c4a68472160144d223eb4d07bc82ef80cb974b7c401db021a540deb2d34ac4b3b8883da2d6401 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -7831,7 +8401,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 @@ -7929,6 +8499,13 @@ __metadata: languageName: node linkType: hard +"stable@npm:^0.1.8": + version: 0.1.8 + resolution: "stable@npm:0.1.8" + checksum: 2ff482bb100285d16dd75cd8f7c60ab652570e8952c0bfa91828a2b5f646a0ff533f14596ea4eabd48bb7f4aeea408dce8f8515812b975d958a4cc4fa6b9dfeb + languageName: node + linkType: hard + "stack-trace@npm:0.0.10": version: 0.0.10 resolution: "stack-trace@npm:0.0.10" @@ -8124,6 +8701,30 @@ __metadata: languageName: node linkType: hard +"svgo@npm:^2.8.0": + version: 2.8.0 + resolution: "svgo@npm:2.8.0" + dependencies: + "@trysound/sax": 0.2.0 + commander: ^7.2.0 + css-select: ^4.1.3 + css-tree: ^1.1.3 + csso: ^4.2.0 + picocolors: ^1.0.0 + stable: ^0.1.8 + bin: + svgo: bin/svgo + checksum: b92f71a8541468ffd0b81b8cdb36b1e242eea320bf3c1a9b2c8809945853e9d8c80c19744267eb91cabf06ae9d5fff3592d677df85a31be4ed59ff78534fa420 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d + languageName: node + linkType: hard + "tailwindcss@npm:^3.1.8": version: 3.2.4 resolution: "tailwindcss@npm:3.2.4" @@ -8259,6 +8860,18 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:^4.0.0": + version: 4.1.2 + resolution: "tough-cookie@npm:4.1.2" + dependencies: + psl: ^1.1.33 + punycode: ^2.1.1 + universalify: ^0.2.0 + url-parse: ^1.5.3 + checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a + languageName: node + linkType: hard + "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -8268,6 +8881,13 @@ __metadata: languageName: node linkType: hard +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + "trim-lines@npm:^3.0.0": version: 3.0.1 resolution: "trim-lines@npm:3.0.1" @@ -8379,6 +8999,15 @@ __metadata: languageName: node linkType: hard +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + "type-fest@npm:^0.18.0": version: 0.18.1 resolution: "type-fest@npm:0.18.1" @@ -8591,6 +9220,13 @@ __metadata: languageName: node linkType: hard +"universalify@npm:^0.2.0": + version: 0.2.0 + resolution: "universalify@npm:0.2.0" + checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 + languageName: node + linkType: hard + "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -8621,6 +9257,16 @@ __metadata: languageName: node linkType: hard +"url-parse@npm:^1.5.3": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: ^2.1.1 + requires-port: ^1.0.0 + checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf + languageName: node + linkType: hard + "urlpattern-polyfill@npm:^4.0.3": version: 4.0.3 resolution: "urlpattern-polyfill@npm:4.0.3" @@ -8779,6 +9425,24 @@ __metadata: languageName: node linkType: hard +"w3c-hr-time@npm:^1.0.2": + version: 1.0.2 + resolution: "w3c-hr-time@npm:1.0.2" + dependencies: + browser-process-hrtime: ^1.0.0 + checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^3.0.0": + version: 3.0.0 + resolution: "w3c-xmlserializer@npm:3.0.0" + dependencies: + xml-name-validator: ^4.0.0 + checksum: 0af8589942eeb11c9fe29eb31a1a09f3d5dd136aea53a9848dfbabff79ac0dd26fe13eb54d330d5555fe27bb50b28dca0715e09f9cc2bfa7670ccc8b7f919ca2 + languageName: node + linkType: hard + "web-streams-polyfill@npm:^3.0.3": version: 3.2.1 resolution: "web-streams-polyfill@npm:3.2.1" @@ -8786,6 +9450,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -8793,6 +9464,32 @@ __metadata: languageName: node linkType: hard +"whatwg-encoding@npm:^2.0.0": + version: 2.0.0 + resolution: "whatwg-encoding@npm:2.0.0" + dependencies: + iconv-lite: 0.6.3 + checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^3.0.0": + version: 3.0.0 + resolution: "whatwg-mimetype@npm:3.0.0" + checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 + languageName: node + linkType: hard + +"whatwg-url@npm:^10.0.0": + version: 10.0.0 + resolution: "whatwg-url@npm:10.0.0" + dependencies: + tr46: ^3.0.0 + webidl-conversions: ^7.0.0 + checksum: a21ec309c5cc743fe9414509408bedf65eaf0fb5c17ac66baa08ef12fce16da4dd30ce90abefbd5a716408301c58a73666dabfd5042cf4242992eb98b954f861 + languageName: node + linkType: hard + "whatwg-url@npm:^11.0.0": version: 11.0.0 resolution: "whatwg-url@npm:11.0.0" @@ -8803,6 +9500,16 @@ __metadata: languageName: node linkType: hard +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + "which-pm-runs@npm:^1.1.0": version: 1.1.0 resolution: "which-pm-runs@npm:1.1.0" @@ -8821,7 +9528,7 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.5": +"wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" dependencies: @@ -8839,7 +9546,7 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3": +"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f @@ -8901,7 +9608,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.2.2": +"ws@npm:^8.2.2, ws@npm:^8.2.3": version: 8.11.0 resolution: "ws@npm:8.11.0" peerDependencies: @@ -8916,6 +9623,20 @@ __metadata: languageName: node linkType: hard +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 + languageName: node + linkType: hard + "xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" From 041bf6280e5f6956393716907e0669aa3ca78b4a Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 13:40:52 +0100 Subject: [PATCH 15/20] fix(adapter): :rocket: venom update - cli - qr iamge --- yarn.lock | 777 ++---------------------------------------------------- 1 file changed, 28 insertions(+), 749 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1d26f2f..68f5d42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1018,7 +1018,6 @@ __metadata: c8: ^7.12.0 conventional-changelog: ^3.1.25 cross-env: ^7.0.3 - easyqrcodejs-nodejs: ^4.4.5 eslint: ^8.26.0 eslint-config-prettier: ^8.5.0 fs-extra: ^11.1.0 @@ -1028,7 +1027,6 @@ __metadata: prettier: ^2.8.0 pretty-quick: ^3.1.3 prompts: ^2.4.2 - qrcode-base64: ^1.0.1 rimraf: ^3.0.2 rollup: ^3.2.3 rollup-plugin-cleanup: ^3.2.1 @@ -1421,25 +1419,6 @@ __metadata: languageName: node linkType: hard -"@mapbox/node-pre-gyp@npm:^1.0.0": - version: 1.0.10 - resolution: "@mapbox/node-pre-gyp@npm:1.0.10" - dependencies: - detect-libc: ^2.0.0 - https-proxy-agent: ^5.0.0 - make-dir: ^3.1.0 - node-fetch: ^2.6.7 - nopt: ^5.0.0 - npmlog: ^5.0.1 - rimraf: ^3.0.2 - semver: ^7.3.5 - tar: ^6.1.11 - bin: - node-pre-gyp: bin/node-pre-gyp - checksum: 1a98db05d955b74dad3814679593df293b9194853698f3f5f1ed00ecd93128cdd4b14fb8767fe44ac6981ef05c23effcfdc88710e7c1de99ccb6f647890597c8 - languageName: node - linkType: hard - "@mdx-js/mdx@npm:2.1.5": version: 2.1.5 resolution: "@mdx-js/mdx@npm:2.1.5" @@ -1803,13 +1782,6 @@ __metadata: languageName: node linkType: hard -"@trysound/sax@npm:0.2.0": - version: 0.2.0 - resolution: "@trysound/sax@npm:0.2.0" - checksum: 11226c39b52b391719a2a92e10183e4260d9651f86edced166da1d95f39a0a1eaa470e44d14ac685ccd6d3df7e2002433782872c0feeb260d61e80f21250e65c - languageName: node - linkType: hard - "@tsconfig/node10@npm:^1.0.7": version: 1.0.9 resolution: "@tsconfig/node10@npm:1.0.9" @@ -1978,9 +1950,9 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:latest": - version: 18.11.14 - resolution: "@types/node@npm:18.11.14" - checksum: 1effaf6d55bbcccde9bca763e6454ebf92047726450256ccc0673bf44e4661fbddcd788b0779bad8a13809b05a7bdcbfba81db0713235478b866d553be864be9 + version: 18.11.15 + resolution: "@types/node@npm:18.11.15" + checksum: cae8692a5cee0316f93ee0342237eb921f70c51afb37c661c711a925a4642654ae7e404c5a80899d481c0cfaff3a6891ef04bacd330a2e72734192bfc91dc2d8 languageName: node linkType: hard @@ -2182,30 +2154,13 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.5, abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e - languageName: node - linkType: hard - -"abbrev@npm:1, abbrev@npm:^1.0.0": +"abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 - languageName: node - linkType: hard - "acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -2226,7 +2181,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1": +"acorn-walk@npm:^7.0.0": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f @@ -2240,7 +2195,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.0.0, acorn@npm:^7.1.1": +"acorn@npm:^7.0.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -2249,7 +2204,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.0": +"acorn@npm:^8.0.0, acorn@npm:^8.4.1, acorn@npm:^8.8.0": version: 8.8.1 resolution: "acorn@npm:8.8.1" bin: @@ -2377,16 +2332,6 @@ __metadata: languageName: node linkType: hard -"are-we-there-yet@npm:^2.0.0": - version: 2.0.0 - resolution: "are-we-there-yet@npm:2.0.0" - dependencies: - delegates: ^1.0.0 - readable-stream: ^3.6.0 - checksum: 6c80b4fd04ecee6ba6e737e0b72a4b41bdc64b7d279edfc998678567ff583c8df27e27523bc789f2c99be603ffa9eaa612803da1d886962d2086e7ff6fa90c7c - languageName: node - linkType: hard - "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -2462,13 +2407,6 @@ __metadata: languageName: node linkType: hard -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be - languageName: node - linkType: hard - "autoprefixer@npm:10.4.11": version: 10.4.11 resolution: "autoprefixer@npm:10.4.11" @@ -2522,13 +2460,6 @@ __metadata: languageName: node linkType: hard -"boolbase@npm:^1.0.0": - version: 1.0.0 - resolution: "boolbase@npm:1.0.0" - checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 - languageName: node - linkType: hard - "bot-whatsapp-docs@workspace:packages/docs": version: 0.0.0-use.local resolution: "bot-whatsapp-docs@workspace:packages/docs" @@ -2604,13 +2535,6 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - "browserslist@npm:^4.21.3": version: 4.21.4 resolution: "browserslist@npm:4.21.4" @@ -2763,18 +2687,6 @@ __metadata: languageName: node linkType: hard -"canvas@npm:^2.8.0": - version: 2.10.2 - resolution: "canvas@npm:2.10.2" - dependencies: - "@mapbox/node-pre-gyp": ^1.0.0 - nan: ^2.17.0 - node-gyp: latest - simple-get: ^3.0.3 - checksum: b2e3eb4c3635fa2f67857619621c3d314f935a9e51904536dadf4908ab580dff4f5bcbaafe6eb0255247fa027ca494d5cd97c33376a49a0f994997263fa9944b - languageName: node - linkType: hard - "ccount@npm:^2.0.0": version: 2.0.1 resolution: "ccount@npm:2.0.1" @@ -2935,7 +2847,7 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.2, color-support@npm:^1.1.3": +"color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" bin: @@ -2951,15 +2863,6 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: ~1.0.0 - checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c - languageName: node - linkType: hard - "comma-separated-tokens@npm:^2.0.0": version: 2.0.3 resolution: "comma-separated-tokens@npm:2.0.3" @@ -2974,13 +2877,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^7.2.0": - version: 7.2.0 - resolution: "commander@npm:7.2.0" - checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc - languageName: node - linkType: hard - "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -3017,7 +2913,7 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": +"console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed @@ -3331,36 +3227,6 @@ __metadata: languageName: node linkType: hard -"css-select@npm:^4.1.3": - version: 4.3.0 - resolution: "css-select@npm:4.3.0" - dependencies: - boolbase: ^1.0.0 - css-what: ^6.0.1 - domhandler: ^4.3.1 - domutils: ^2.8.0 - nth-check: ^2.0.1 - checksum: d6202736839194dd7f910320032e7cfc40372f025e4bf21ca5bf6eb0a33264f322f50ba9c0adc35dadd342d3d6fae5ca244779a4873afbfa76561e343f2058e0 - languageName: node - linkType: hard - -"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": - version: 1.1.3 - resolution: "css-tree@npm:1.1.3" - dependencies: - mdn-data: 2.0.14 - source-map: ^0.6.1 - checksum: 79f9b81803991b6977b7fcb1588799270438274d89066ce08f117f5cdb5e20019b446d766c61506dd772c839df84caa16042d6076f20c97187f5abe3b50e7d1f - languageName: node - linkType: hard - -"css-what@npm:^6.0.1": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe - languageName: node - linkType: hard - "cssesc@npm:^3.0.0": version: 3.0.0 resolution: "cssesc@npm:3.0.0" @@ -3370,38 +3236,6 @@ __metadata: languageName: node linkType: hard -"csso@npm:^4.2.0": - version: 4.2.0 - resolution: "csso@npm:4.2.0" - dependencies: - css-tree: ^1.1.2 - checksum: 380ba9663da3bcea58dee358a0d8c4468bb6539be3c439dc266ac41c047217f52fd698fb7e4b6b6ccdfb8cf53ef4ceed8cc8ceccb8dfca2aa628319826b5b998 - languageName: node - linkType: hard - -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: ~0.3.6 - checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 - languageName: node - linkType: hard - "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -3416,17 +3250,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.1": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: ^2.0.6 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^11.0.0 - checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 - languageName: node - linkType: hard - "dateformat@npm:^3.0.0": version: 3.0.3 resolution: "dateformat@npm:3.0.3" @@ -3463,13 +3286,6 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.3.1": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae - languageName: node - linkType: hard - "decode-named-character-reference@npm:^1.0.0": version: 1.0.2 resolution: "decode-named-character-reference@npm:1.0.2" @@ -3479,16 +3295,7 @@ __metadata: languageName: node linkType: hard -"decompress-response@npm:^4.2.0": - version: 4.2.1 - resolution: "decompress-response@npm:4.2.1" - dependencies: - mimic-response: ^2.0.0 - checksum: 4e783ca4dfe9417354d61349750fe05236f565a4415a6ca20983a311be2371debaedd9104c0b0e7b36e5f167aeaae04f84f1a0b3f8be4162f1d7d15598b8fdba - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": +"deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 @@ -3509,13 +3316,6 @@ __metadata: languageName: node linkType: hard -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 - languageName: node - linkType: hard - "delegates@npm:^1.0.0": version: 1.0.0 resolution: "delegates@npm:1.0.0" @@ -3551,13 +3351,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.0": - version: 2.0.1 - resolution: "detect-libc@npm:2.0.1" - checksum: ccb05fcabbb555beb544d48080179c18523a343face9ee4e1a86605a8715b4169f94d663c21a03c310ac824592f2ba9a5270218819bb411ad7be578a527593d7 - languageName: node - linkType: hard - "detect-newline@npm:^3.1.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -3633,53 +3426,6 @@ __metadata: languageName: node linkType: hard -"dom-serializer@npm:^1.0.1": - version: 1.4.1 - resolution: "dom-serializer@npm:1.4.1" - dependencies: - domelementtype: ^2.0.1 - domhandler: ^4.2.0 - entities: ^2.0.0 - checksum: fbb0b01f87a8a2d18e6e5a388ad0f7ec4a5c05c06d219377da1abc7bb0f674d804f4a8a94e3f71ff15f6cb7dcfc75704a54b261db672b9b3ab03da6b758b0b22 - languageName: node - linkType: hard - -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 - languageName: node - linkType: hard - -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: ^7.0.0 - checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 - languageName: node - linkType: hard - -"domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": - version: 4.3.1 - resolution: "domhandler@npm:4.3.1" - dependencies: - domelementtype: ^2.2.0 - checksum: 4c665ceed016e1911bf7d1dadc09dc888090b64dee7851cccd2fcf5442747ec39c647bb1cb8c8919f8bbdd0f0c625a6bafeeed4b2d656bbecdbae893f43ffaaa - languageName: node - linkType: hard - -"domutils@npm:^2.8.0": - version: 2.8.0 - resolution: "domutils@npm:2.8.0" - dependencies: - dom-serializer: ^1.0.1 - domelementtype: ^2.2.0 - domhandler: ^4.2.0 - checksum: abf7434315283e9aadc2a24bac0e00eab07ae4313b40cc239f89d84d7315ebdfd2fb1b5bf750a96bc1b4403d7237c7b2ebf60459be394d625ead4ca89b934391 - languageName: node - linkType: hard - "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -3713,17 +3459,6 @@ __metadata: languageName: node linkType: hard -"easyqrcodejs-nodejs@npm:^4.4.5": - version: 4.4.5 - resolution: "easyqrcodejs-nodejs@npm:4.4.5" - dependencies: - canvas: ^2.8.0 - jsdom: ^19.0.0 - svgo: ^2.8.0 - checksum: 81efce3629677ce0e77f7b2bc967afe5d3cb2ad769a0045d5e5d2e3d138e5036c4481c951bbcd1623825566af2ef36359d57e4aa5b7d53de20446821fba86d4d - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.251": version: 1.4.284 resolution: "electron-to-chromium@npm:1.4.284" @@ -3756,13 +3491,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^2.0.0": - version: 2.2.0 - resolution: "entities@npm:2.2.0" - checksum: 19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3 - languageName: node - linkType: hard - "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -4235,25 +3963,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.0.0": - version: 2.0.0 - resolution: "escodegen@npm:2.0.0" - dependencies: - esprima: ^4.0.1 - estraverse: ^5.2.0 - esutils: ^2.0.2 - optionator: ^0.8.1 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef - languageName: node - linkType: hard - "eslint-config-prettier@npm:^8.5.0": version: 8.5.0 resolution: "eslint-config-prettier@npm:8.5.0" @@ -4428,16 +4137,6 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 - languageName: node - linkType: hard - "esquery@npm:^1.4.0": version: 1.4.0 resolution: "esquery@npm:1.4.0" @@ -4631,7 +4330,7 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c @@ -4760,17 +4459,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c - languageName: node - linkType: hard - "formdata-polyfill@npm:^4.0.10": version: 4.0.10 resolution: "formdata-polyfill@npm:4.0.10" @@ -4862,23 +4550,6 @@ __metadata: languageName: node linkType: hard -"gauge@npm:^3.0.0": - version: 3.0.2 - resolution: "gauge@npm:3.0.2" - dependencies: - aproba: ^1.0.3 || ^2.0.0 - color-support: ^1.1.2 - console-control-strings: ^1.0.0 - has-unicode: ^2.0.1 - object-assign: ^4.1.1 - signal-exit: ^3.0.0 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - wide-align: ^1.1.2 - checksum: 81296c00c7410cdd48f997800155fbead4f32e4f82109be0719c63edc8560e6579946cc8abd04205297640691ec26d21b578837fd13a4e96288ab4b40b1dc3e9 - languageName: node - linkType: hard - "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -5233,15 +4904,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" - dependencies: - whatwg-encoding: ^2.0.0 - checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 - languageName: node - linkType: hard - "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -5323,7 +4985,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": +"iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -5566,13 +5228,6 @@ __metadata: languageName: node linkType: hard -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab - languageName: node - linkType: hard - "is-property@npm:^1.0.2": version: 1.0.2 resolution: "is-property@npm:1.0.2" @@ -5699,46 +5354,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^19.0.0": - version: 19.0.0 - resolution: "jsdom@npm:19.0.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.5.0 - acorn-globals: ^6.0.0 - cssom: ^0.5.0 - cssstyle: ^2.3.0 - data-urls: ^3.0.1 - decimal.js: ^10.3.1 - domexception: ^4.0.0 - escodegen: ^2.0.0 - form-data: ^4.0.0 - html-encoding-sniffer: ^3.0.0 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 - symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^3.0.0 - webidl-conversions: ^7.0.0 - whatwg-encoding: ^2.0.0 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^10.0.0 - ws: ^8.2.3 - xml-name-validator: ^4.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 94b693bf4a394097dd96705550bb7b6cd3c8db3c5414e6e9c92a0995ed8b61067597da2f37fca6bed4b5a2f1ef33960ee759522156dccd0b306311988ea87cfb - languageName: node - linkType: hard - "json-parse-better-errors@npm:^1.0.1": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -5853,16 +5468,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e - languageName: node - linkType: hard - "lilconfig@npm:^2.0.5, lilconfig@npm:^2.0.6": version: 2.0.6 resolution: "lilconfig@npm:2.0.6" @@ -6069,7 +5674,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.1.0": +"make-dir@npm:^3.0.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -6234,8 +5839,8 @@ __metadata: linkType: hard "mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0": - version: 1.3.0 - resolution: "mdast-util-to-markdown@npm:1.3.0" + version: 1.4.0 + resolution: "mdast-util-to-markdown@npm:1.4.0" dependencies: "@types/mdast": ^3.0.0 "@types/unist": ^2.0.0 @@ -6244,7 +5849,7 @@ __metadata: micromark-util-decode-string: ^1.0.0 unist-util-visit: ^4.0.0 zwitch: ^2.0.0 - checksum: 0ea4fc11b7a49b15d400d50044429c45222cb9bc583553288c7c54704d051f25049233817129ba56a6f581f1e20916e5c540870a80987318747a95b44a36ba3e + checksum: 68fb241ab63a4120e5b20ea2aa03342758235f3a833b3e248d52b6a6b2e4693ad04297b9d0cd558899e340b1bf74a4e3f503a8b6037c4d407d744ac6bce75a42 languageName: node linkType: hard @@ -6255,13 +5860,6 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.0.14": - version: 2.0.14 - resolution: "mdn-data@npm:2.0.14" - checksum: 9d0128ed425a89f4cba8f787dca27ad9408b5cb1b220af2d938e2a0629d17d879a34d2cb19318bdb26c3f14c77dd5dfbae67211f5caaf07b61b1f2c5c8c7dc16 - languageName: node - linkType: hard - "memory-pager@npm:^1.0.2": version: 1.5.0 resolution: "memory-pager@npm:1.5.0" @@ -6653,22 +6251,6 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: 1.52.0 - checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 - languageName: node - linkType: hard - "mime@npm:^3.0.0": version: 3.0.0 resolution: "mime@npm:3.0.0" @@ -6692,13 +6274,6 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^2.0.0": - version: 2.1.0 - resolution: "mimic-response@npm:2.1.0" - checksum: 014fad6ab936657e5f2f48bd87af62a8e928ebe84472aaf9e14fec4fcb31257a5edff77324d8ac13ddc6685ba5135cf16e381efac324e5f174fb4ddbf902bf07 - languageName: node - linkType: hard - "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -6986,15 +6561,6 @@ __metadata: languageName: node linkType: hard -"nan@npm:^2.17.0": - version: 2.17.0 - resolution: "nan@npm:2.17.0" - dependencies: - node-gyp: latest - checksum: ec609aeaf7e68b76592a3ba96b372aa7f5df5b056c1e37410b0f1deefbab5a57a922061e2c5b369bae9c7c6b5e6eecf4ad2dac8833a1a7d3a751e0a7c7f849ed - languageName: node - linkType: hard - "nanoid@npm:^3.3.3, nanoid@npm:^3.3.4": version: 3.3.4 resolution: "nanoid@npm:3.3.4" @@ -7050,20 +6616,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.7": - version: 2.6.7 - resolution: "node-fetch@npm:2.6.7" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b - languageName: node - linkType: hard - "node-forge@npm:^1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -7092,20 +6644,9 @@ __metadata: linkType: hard "node-releases@npm:^2.0.6": - version: 2.0.6 - resolution: "node-releases@npm:2.0.6" - checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf - languageName: node - linkType: hard - -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" - dependencies: - abbrev: 1 - bin: - nopt: bin/nopt.js - checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + version: 2.0.7 + resolution: "node-releases@npm:2.0.7" + checksum: d1c5af091d788b7f9dfce5aa77cbf76c28e8e326b891fe64a05b96943a90cd6ba19eae94ef32777c23f5898a7b00d9cf8266adba33d61ebe6611cca74ccfc0b1 languageName: node linkType: hard @@ -7176,18 +6717,6 @@ __metadata: languageName: node linkType: hard -"npmlog@npm:^5.0.1": - version: 5.0.1 - resolution: "npmlog@npm:5.0.1" - dependencies: - are-we-there-yet: ^2.0.0 - console-control-strings: ^1.1.0 - gauge: ^3.0.0 - set-blocking: ^2.0.0 - checksum: 516b2663028761f062d13e8beb3f00069c5664925871a9b57989642ebe09f23ab02145bf3ab88da7866c4e112cafff72401f61a672c7c8a20edc585a7016ef5f - languageName: node - linkType: hard - "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -7212,23 +6741,7 @@ __metadata: languageName: node linkType: hard -"nth-check@npm:^2.0.1": - version: 2.1.1 - resolution: "nth-check@npm:2.1.1" - dependencies: - boolbase: ^1.0.0 - checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 - languageName: node - linkType: hard - -"nwsapi@npm:^2.2.0": - version: 2.2.2 - resolution: "nwsapi@npm:2.2.2" - checksum: 43769106292bc95f776756ca2f3513dab7b4d506a97c67baec32406447841a35f65f29c1f95ab5d42785210fd41668beed33ca16fa058780be43b101ad73e205 - languageName: node - linkType: hard - -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"object-assign@npm:^4.0.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -7281,20 +6794,6 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 - languageName: node - linkType: hard - "optionator@npm:^0.9.1": version: 0.9.1 resolution: "optionator@npm:0.9.1" @@ -7449,13 +6948,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd - languageName: node - linkType: hard - "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -7661,13 +7153,6 @@ __metadata: languageName: node linkType: hard -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 - languageName: node - linkType: hard - "prettier@npm:2.7.1": version: 2.7.1 resolution: "prettier@npm:2.7.1" @@ -7752,13 +7237,6 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d - languageName: node - linkType: hard - "pump@npm:^3.0.0": version: 3.0.0 resolution: "pump@npm:3.0.0" @@ -7790,20 +7268,6 @@ __metadata: languageName: node linkType: hard -"qrcode-base64@npm:^1.0.1": - version: 1.0.1 - resolution: "qrcode-base64@npm:1.0.1" - checksum: ac9f3767268e5a9a74be09b4771a5d421ef459889bd74e9f20a7a09430415174dd0f012af6e4d4c9eb93677d633f488e7c17a2b730f4795558d245762492318e - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -7944,12 +7408,12 @@ __metadata: linkType: hard "remark-mdx@npm:^2.0.0": - version: 2.1.5 - resolution: "remark-mdx@npm:2.1.5" + version: 2.2.1 + resolution: "remark-mdx@npm:2.2.1" dependencies: mdast-util-mdx: ^2.0.0 micromark-extension-mdxjs: ^1.0.0 - checksum: a5b2ccaa2bdb9d236e418e4b1868539b3dc4f8df0476b5574c9beb0cc8cf8a09573fa91aeb24f56a5c3bb4ed00d9b6db6afe36a53450985fdbdcf9736bed115b + checksum: 2e4488cd81fc2186dc0b079455c03b4e50cfd32d7a2a3f8f59d7ccb5d77ce9cab595f83f105fbf9e9a7e20a63a95ac2ef8e29c75d4c79bd78b1ace79e88b4c45 languageName: node linkType: hard @@ -7990,13 +7454,6 @@ __metadata: languageName: node linkType: hard -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff - languageName: node - linkType: hard - "resolve-from@npm:5.0.0, resolve-from@npm:^5.0.0": version: 5.0.0 resolution: "resolve-from@npm:5.0.0" @@ -8201,15 +7658,6 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: ^2.2.0 - checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 - languageName: node - linkType: hard - "selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": version: 2.1.1 resolution: "selfsigned@npm:2.1.1" @@ -8303,31 +7751,13 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard -"simple-concat@npm:^1.0.0": - version: 1.0.1 - resolution: "simple-concat@npm:1.0.1" - checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a - languageName: node - linkType: hard - -"simple-get@npm:^3.0.3": - version: 3.1.1 - resolution: "simple-get@npm:3.1.1" - dependencies: - decompress-response: ^4.2.0 - once: ^1.3.1 - simple-concat: ^1.0.0 - checksum: 80195e70bf171486e75c31e28e5485468195cc42f85940f8b45c4a68472160144d223eb4d07bc82ef80cb974b7c401db021a540deb2d34ac4b3b8883da2d6401 - languageName: node - linkType: hard - "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -8401,7 +7831,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 @@ -8499,13 +7929,6 @@ __metadata: languageName: node linkType: hard -"stable@npm:^0.1.8": - version: 0.1.8 - resolution: "stable@npm:0.1.8" - checksum: 2ff482bb100285d16dd75cd8f7c60ab652570e8952c0bfa91828a2b5f646a0ff533f14596ea4eabd48bb7f4aeea408dce8f8515812b975d958a4cc4fa6b9dfeb - languageName: node - linkType: hard - "stack-trace@npm:0.0.10": version: 0.0.10 resolution: "stack-trace@npm:0.0.10" @@ -8701,30 +8124,6 @@ __metadata: languageName: node linkType: hard -"svgo@npm:^2.8.0": - version: 2.8.0 - resolution: "svgo@npm:2.8.0" - dependencies: - "@trysound/sax": 0.2.0 - commander: ^7.2.0 - css-select: ^4.1.3 - css-tree: ^1.1.3 - csso: ^4.2.0 - picocolors: ^1.0.0 - stable: ^0.1.8 - bin: - svgo: bin/svgo - checksum: b92f71a8541468ffd0b81b8cdb36b1e242eea320bf3c1a9b2c8809945853e9d8c80c19744267eb91cabf06ae9d5fff3592d677df85a31be4ed59ff78534fa420 - languageName: node - linkType: hard - -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d - languageName: node - linkType: hard - "tailwindcss@npm:^3.1.8": version: 3.2.4 resolution: "tailwindcss@npm:3.2.4" @@ -8860,18 +8259,6 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0": - version: 4.1.2 - resolution: "tough-cookie@npm:4.1.2" - dependencies: - psl: ^1.1.33 - punycode: ^2.1.1 - universalify: ^0.2.0 - url-parse: ^1.5.3 - checksum: a7359e9a3e875121a84d6ba40cc184dec5784af84f67f3a56d1d2ae39b87c0e004e6ba7c7331f9622a7d2c88609032473488b28fe9f59a1fec115674589de39a - languageName: node - linkType: hard - "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -8881,13 +8268,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 - languageName: node - linkType: hard - "trim-lines@npm:^3.0.0": version: 3.0.1 resolution: "trim-lines@npm:3.0.1" @@ -8999,15 +8379,6 @@ __metadata: languageName: node linkType: hard -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: ~1.1.2 - checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 - languageName: node - linkType: hard - "type-fest@npm:^0.18.0": version: 0.18.1 resolution: "type-fest@npm:0.18.1" @@ -9220,13 +8591,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -9257,16 +8621,6 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: ^2.1.1 - requires-port: ^1.0.0 - checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf - languageName: node - linkType: hard - "urlpattern-polyfill@npm:^4.0.3": version: 4.0.3 resolution: "urlpattern-polyfill@npm:4.0.3" @@ -9425,24 +8779,6 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^3.0.0": - version: 3.0.0 - resolution: "w3c-xmlserializer@npm:3.0.0" - dependencies: - xml-name-validator: ^4.0.0 - checksum: 0af8589942eeb11c9fe29eb31a1a09f3d5dd136aea53a9848dfbabff79ac0dd26fe13eb54d330d5555fe27bb50b28dca0715e09f9cc2bfa7670ccc8b7f919ca2 - languageName: node - linkType: hard - "web-streams-polyfill@npm:^3.0.3": version: 3.2.1 resolution: "web-streams-polyfill@npm:3.2.1" @@ -9450,13 +8786,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c - languageName: node - linkType: hard - "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -9464,32 +8793,6 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" - dependencies: - iconv-lite: 0.6.3 - checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 - languageName: node - linkType: hard - -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 - languageName: node - linkType: hard - -"whatwg-url@npm:^10.0.0": - version: 10.0.0 - resolution: "whatwg-url@npm:10.0.0" - dependencies: - tr46: ^3.0.0 - webidl-conversions: ^7.0.0 - checksum: a21ec309c5cc743fe9414509408bedf65eaf0fb5c17ac66baa08ef12fce16da4dd30ce90abefbd5a716408301c58a73666dabfd5042cf4242992eb98b954f861 - languageName: node - linkType: hard - "whatwg-url@npm:^11.0.0": version: 11.0.0 resolution: "whatwg-url@npm:11.0.0" @@ -9500,16 +8803,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: ~0.0.3 - webidl-conversions: ^3.0.0 - checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c - languageName: node - linkType: hard - "which-pm-runs@npm:^1.1.0": version: 1.1.0 resolution: "which-pm-runs@npm:1.1.0" @@ -9528,7 +8821,7 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": +"wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" dependencies: @@ -9546,7 +8839,7 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f @@ -9608,7 +8901,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.2.2, ws@npm:^8.2.3": +"ws@npm:^8.2.2": version: 8.11.0 resolution: "ws@npm:8.11.0" peerDependencies: @@ -9623,20 +8916,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad - languageName: node - linkType: hard - -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 - languageName: node - linkType: hard - "xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" From 5da4b7a4d1e5950be94361ac439938741b9d299c Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 14:27:40 +0100 Subject: [PATCH 16/20] fix: :sparkles: updated starters --- starters/apps/base-twilio-memory/app.js | 10 ++++++++-- starters/apps/base-twilio-memory/package.json | 6 ++++-- starters/apps/base-twilio-mongo/app.js | 9 +++++++-- starters/apps/base-twilio-mongo/package.json | 6 ++++-- starters/apps/base-twilio-mysql/app.js | 8 ++++++-- starters/apps/base-twilio-mysql/package.json | 6 ++++-- starters/apps/base-venom-memory/app.js | 4 ++-- starters/apps/base-venom-memory/package.json | 2 +- starters/apps/base-venom-mongo/app.js | 4 ++-- starters/apps/base-venom-mongo/package.json | 2 +- starters/apps/base-venom-mysql/app.js | 4 ++-- starters/apps/base-venom-mysql/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 +- 15 files changed, 45 insertions(+), 24 deletions(-) diff --git a/starters/apps/base-twilio-memory/app.js b/starters/apps/base-twilio-memory/app.js index 3717be9..6f932f0 100644 --- a/starters/apps/base-twilio-memory/app.js +++ b/starters/apps/base-twilio-memory/app.js @@ -6,7 +6,7 @@ const { addChild, } = require('@bot-whatsapp/bot') -const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') +const TwilioProvider = require('@bot-whatsapp/provider/twilio') const MockAdapter = require('@bot-whatsapp/database/mock') /** @@ -71,7 +71,13 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) - const adapterProvider = createProvider(WebWhatsappProvider) + + const adapterProvider = createProvider(TwilioProvider, { + accountSid: 'YOUR_ACCOUNT_SID', + authToken: 'YOUR_ACCOUNT_TOKEN', + vendorNumber: '+14155238886', + }) + createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-twilio-memory/package.json b/starters/apps/base-twilio-memory/package.json index f03e72f..572ca88 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", + "name": "bot-whatsapp-base-twilio-memory", "version": "1.0.0", "description": "", "main": "app.js", @@ -9,7 +9,9 @@ }, "keywords": [], "dependencies": { - "whatsapp-web.js": "^1.18.3", + "body-parser": "^1.20.1", + "polka": "^0.5.2", + "twilio": "^3.83.4", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-twilio-mongo/app.js b/starters/apps/base-twilio-mongo/app.js index 3717be9..cd29140 100644 --- a/starters/apps/base-twilio-mongo/app.js +++ b/starters/apps/base-twilio-mongo/app.js @@ -6,7 +6,7 @@ const { addChild, } = require('@bot-whatsapp/bot') -const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') +const TwilioProvider = require('@bot-whatsapp/provider/twilio') const MockAdapter = require('@bot-whatsapp/database/mock') /** @@ -71,7 +71,12 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) - const adapterProvider = createProvider(WebWhatsappProvider) + const adapterProvider = createProvider(TwilioProvider, { + accountSid: 'YOUR_ACCOUNT_SID', + authToken: 'YOUR_ACCOUNT_TOKEN', + vendorNumber: '+14155238886', + }) + createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-twilio-mongo/package.json b/starters/apps/base-twilio-mongo/package.json index b86f75d..56f4600 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", + "name": "bot-whatsapp-base-twilio-mongo", "version": "1.0.0", "description": "", "main": "app.js", @@ -9,7 +9,9 @@ }, "keywords": [], "dependencies": { - "whatsapp-web.js": "^1.18.3", + "body-parser": "^1.20.1", + "polka": "^0.5.2", + "twilio": "^3.83.4", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-twilio-mysql/app.js b/starters/apps/base-twilio-mysql/app.js index 3717be9..f405728 100644 --- a/starters/apps/base-twilio-mysql/app.js +++ b/starters/apps/base-twilio-mysql/app.js @@ -6,7 +6,7 @@ const { addChild, } = require('@bot-whatsapp/bot') -const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') +const TwilioProvider = require('@bot-whatsapp/provider/twilio') const MockAdapter = require('@bot-whatsapp/database/mock') /** @@ -71,7 +71,11 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) - const adapterProvider = createProvider(WebWhatsappProvider) + const adapterProvider = createProvider(TwilioProvider, { + accountSid: 'YOUR_ACCOUNT_SID', + authToken: 'YOUR_ACCOUNT_TOKEN', + vendorNumber: '+14155238886', + }) createBot({ flow: adapterFlow, provider: adapterProvider, diff --git a/starters/apps/base-twilio-mysql/package.json b/starters/apps/base-twilio-mysql/package.json index fa0bde1..14f73dd 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", + "name": "bot-whatsapp-base-twilio-mysql", "version": "1.0.0", "description": "", "main": "app.js", @@ -9,7 +9,9 @@ }, "keywords": [], "dependencies": { - "whatsapp-web.js": "^1.18.3", + "body-parser": "^1.20.1", + "polka": "^0.5.2", + "twilio": "^3.83.4", "@bot-whatsapp/bot": "latest", "@bot-whatsapp/cli": "latest", "@bot-whatsapp/database": "latest", diff --git a/starters/apps/base-venom-memory/app.js b/starters/apps/base-venom-memory/app.js index 11d3aa4..9dd87ef 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 WebWhatsappProvider = require('@bot-whatsapp/provider/venom') +const VenomProvider = require('@bot-whatsapp/provider/venom') const MockAdapter = require('@bot-whatsapp/database/mock') const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) @@ -16,7 +16,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) - const adapterProvider = createProvider(WebWhatsappProvider) + const adapterProvider = createProvider(VenomProvider) createBot({ flow: adapterFlow, diff --git a/starters/apps/base-venom-memory/package.json b/starters/apps/base-venom-memory/package.json index c70807e..c72298a 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", + "name": "bot-whatsapp-base-venom-memory", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-venom-mongo/app.js b/starters/apps/base-venom-mongo/app.js index 11d3aa4..9dd87ef 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 WebWhatsappProvider = require('@bot-whatsapp/provider/venom') +const VenomProvider = require('@bot-whatsapp/provider/venom') const MockAdapter = require('@bot-whatsapp/database/mock') const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) @@ -16,7 +16,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) - const adapterProvider = createProvider(WebWhatsappProvider) + const adapterProvider = createProvider(VenomProvider) createBot({ flow: adapterFlow, diff --git a/starters/apps/base-venom-mongo/package.json b/starters/apps/base-venom-mongo/package.json index c0812a7..d516b9d 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", + "name": "bot-whatsapp-base-venom-mongo", "version": "1.0.0", "description": "", "main": "app.js", diff --git a/starters/apps/base-venom-mysql/app.js b/starters/apps/base-venom-mysql/app.js index 11d3aa4..9dd87ef 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 WebWhatsappProvider = require('@bot-whatsapp/provider/venom') +const VenomProvider = require('@bot-whatsapp/provider/venom') const MockAdapter = require('@bot-whatsapp/database/mock') const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) @@ -16,7 +16,7 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA']) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) - const adapterProvider = createProvider(WebWhatsappProvider) + const adapterProvider = createProvider(VenomProvider) createBot({ flow: adapterFlow, diff --git a/starters/apps/base-venom-mysql/package.json b/starters/apps/base-venom-mysql/package.json index d44383b..d08359a 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", + "name": "bot-whatsapp-base-venom-mysql", "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 1898f6e..6713a30 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", + "name": "bot-whatsapp-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 a01960f..390f6c9 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", + "name": "bot-whatsapp-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 eb1202c..329f3ef 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", + "name": "bot-whatsapp-base-wweb-mysql", "version": "1.0.0", "description": "", "main": "app.js", From a30eaac77534d17eb980f6ec126140e9d30aa06e Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 16:41:47 +0100 Subject: [PATCH 17/20] fix(starters): :fire: updated staters --- core.class.log | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 core.class.log diff --git a/core.class.log b/core.class.log deleted file mode 100644 index 5961e96..0000000 --- a/core.class.log +++ /dev/null @@ -1,3 +0,0 @@ -[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false } -[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false } -[handleMsg]: { from: 'XXXXXX', body: 'hola', hasMedia: false } From 4d4f15ce73486d9335ad474d9e37c3b155670134 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 16:42:14 +0100 Subject: [PATCH 18/20] fix(starters): :fire: updated staters --- .vscode/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 5af5063..977ac5f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,7 @@ "bot", "provider", "adapter", - "ci" + "ci", + "starters" ] } From 2d5ac2664bea09e60ac85ff2612609ae21050945 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 18:44:50 +0100 Subject: [PATCH 19/20] fix(adapter): :fire: improvement baileys --- packages/provider/package.json | 3 +- packages/provider/rollup-provider.config.js | 9 + packages/provider/src/baileys/index.js | 180 +++++++++++++----- packages/provider/src/baileys/utils.js | 21 ++ packages/provider/src/venom/index.js | 3 +- .../provider/src/venom/{utils => }/utils.js | 0 packages/provider/src/web-whatsapp/index.js | 18 +- packages/provider/src/web-whatsapp/utils.js | 17 +- 8 files changed, 189 insertions(+), 62 deletions(-) create mode 100644 packages/provider/src/baileys/utils.js rename packages/provider/src/venom/{utils => }/utils.js (100%) diff --git a/packages/provider/package.json b/packages/provider/package.json index 42aa0f2..3262cdc 100644 --- a/packages/provider/package.json +++ b/packages/provider/package.json @@ -17,6 +17,7 @@ "./mock": "./lib/mock/index.cjs", "./twilio": "./lib/twilio/index.cjs", "./web-whatsapp": "./lib/web-whatsapp/index.cjs", - "./venom": "./lib/venom/index.cjs" + "./venom": "./lib/venom/index.cjs", + "./baileys": "./lib/baileys/index.cjs" } } diff --git a/packages/provider/rollup-provider.config.js b/packages/provider/rollup-provider.config.js index 2afef9f..03aa368 100644 --- a/packages/provider/rollup-provider.config.js +++ b/packages/provider/rollup-provider.config.js @@ -39,4 +39,13 @@ module.exports = [ }, plugins: [commonjs()], }, + { + input: join(__dirname, 'src', 'baileys', 'index.js'), + output: { + banner: banner['banner.output'].join(''), + file: join(__dirname, 'lib', 'baileys', 'index.cjs'), + format: 'cjs', + }, + plugins: [commonjs()], + }, ] diff --git a/packages/provider/src/baileys/index.js b/packages/provider/src/baileys/index.js index 16d3e75..e985e4a 100644 --- a/packages/provider/src/baileys/index.js +++ b/packages/provider/src/baileys/index.js @@ -1,79 +1,171 @@ const { ProviderClass } = require('@bot-whatsapp/bot') -const PINO = require('pino') -const makeWASocket = require('@adiwajshing/baileys').default -const { useMultiFileAuthState } = require('@adiwajshing/baileys') +const pino = require('pino') +const { + default: makeWASocket, + useMultiFileAuthState, +} = require('@adiwajshing/baileys') +const { + baileyGenerateImage, + baileyCleanNumber, + baileyIsValidNumber, +} = require('./utils') -class Baileys extends ProviderClass { +/** + * ⚙️ BaileysProvider: Es una clase tipo adaptor + * que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas) + * https://github.com/adiwajshing/Baileys + */ +class BaileysProvider extends ProviderClass { + vendor constructor() { super() - this.sock + this.initBailey().then(() => this.initBusEvents()) } - async baileys() { - const { state, saveCreds } = await useMultiFileAuthState( - 'baileys_auth_whatsapp' - ) + /** + * Iniciar todo Bailey + */ + async initBailey() { + const { state, saveCreds } = await useMultiFileAuthState('sessions') - this.sock = await makeWASocket({ - printQRInTerminal: true, - auth: state, - logger: PINO({ level: 'error' }), - }) + try { + this.vendor = makeWASocket({ + printQRInTerminal: false, + auth: state, + logger: pino({ level: 'error' }), + }) + + this.vendor.ev.on( + 'connection.update', + async ({ qr, connection, lastDisconnect }) => { + if (qr) baileyGenerateImage(qr) + if (connection === 'open') this.emit('ready', true) + if (lastDisconnect?.error) { + saveCreds() + this.initBailey() + } + } + ) + } catch (e) { + this.emit('error', e) + } + } + + /** + * Mapeamos los eventos nativos a los que la clase Provider espera + * para tener un standar de eventos + * @returns + */ + busEvents = () => [ + { + event: 'connection.update', + func: async ({ qr, connection, lastDisconnect }) => { + if (qr) { + this.emit('require_action', { + instructions: [ + `Debes escanear el QR Code para iniciar session reivsa qr.png`, + `Recuerda que el QR se actualiza cada minuto `, + `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, + ], + }) + baileyGenerateImage(qr) + } - this.sock.ev.on( - 'connection.update', - ({ connection, lastDisconnect }) => { if (lastDisconnect?.error) { - saveCreds() - - this.baileys() + this.emit('require_action', { + instructions: [ + `Algo sucedio reinicia el bot o revisa tu whatsapp`, + `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, + ], + }) } - if (connection === 'open') { - console.log('Baileys is connected') + if (connection === 'open') this.emit('ready', true) + }, + }, + { + event: 'messages.upsert', + func: ({ messages }) => { + const [messageCtx] = messages + let payload = { + ...messageCtx, + body: messageCtx?.message?.conversation, + from: messageCtx?.key?.remoteJid, } - } - ) + if (payload.from === 'status@broadcast') { + return + } + + if (!baileyIsValidNumber(payload.from)) { + return + } + payload.from = baileyCleanNumber(payload.from, true) + this.emit('message', payload) + }, + }, + ] + + initBusEvents = () => { + const listEvents = this.busEvents() + + for (const { event, func } of listEvents) { + this.vendor.ev.on(event, func) + } } /** - * + * @alpha * @param {string} number * @param {string} message - * @example await sendMessage('+51925465621', 'Hello World') - */ - async sendMessage(number, message) { - const numberClean = number.replace('+', '') - await this.sock.sendMessage(`${numberClean}@c.us`, { text: message }) - } - - /** - * - * @param {string} number - * @param {string} message - * @example await sendMessage('+51925465621', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg') + * @example await sendMessage('+XXXXXXXXXXX', 'https://dominio.com/imagen.jpg' | 'img/imagen.jpg') */ - async sendImage(number, imageUrl) { - const numberClean = number.replace('+', '') - await this.sock.sendMessage(`${numberClean}@c.us`, { + sendMedia = async (number, imageUrl) => { + await this.vendor.sendMessage(number, { image: { url: imageUrl }, }) } /** - * + * @alpha * @param {string} number * @param {string} message * @param {boolean} voiceNote optional - * @example await sendMessage('+51925465621', 'audio.mp3') + * @example await sendMessage('+XXXXXXXXXXX', 'audio.mp3') */ - async sendAudio(number, audioUrl, voiceNote = false) { + sendAudio = async (number, audioUrl, voiceNote = false) => { const numberClean = number.replace('+', '') - await this.sock.sendMessage(`${numberClean}@c.us`, { + await this.vendor.sendMessage(`${numberClean}@c.us`, { audio: { url: audioUrl }, ptt: voiceNote, }) } + + /** + * + * @param {string} number + * @param {string} message + * @returns + */ + sendText = async (number, message) => { + return this.vendor.sendMessage(number, { text: message }) + } + /** + * TODO: Necesita terminar de implementar el sendMedia y sendButton guiarse: + * https://github.com/leifermendez/bot-whatsapp/blob/4e0fcbd8347f8a430adb43351b5415098a5d10df/packages/provider/src/web-whatsapp/index.js#L165 + * @param {string} number + * @param {string} message + * @example await sendMessage('+XXXXXXXXXXX', 'Hello World') + */ + sendMessage = async (numberIn, message, { options }) => { + const number = baileyCleanNumber(numberIn) + + // if (options?.buttons?.length) + // return this.sendButtons(number, message, options.buttons) + if (options?.media) return this.sendMedia(number, options.media) + return this.sendText(number, message) + } } + +module.exports = BaileysProvider diff --git a/packages/provider/src/baileys/utils.js b/packages/provider/src/baileys/utils.js new file mode 100644 index 0000000..7da3c0a --- /dev/null +++ b/packages/provider/src/baileys/utils.js @@ -0,0 +1,21 @@ +const { createWriteStream } = require('fs') +const qr = require('qr-image') + +const baileyCleanNumber = (number, full = false) => { + number = number.replace('@s.whatsapp.net', '') + number = !full ? `${number}@s.whatsapp.net` : `${number}` + return number +} + +const baileyGenerateImage = (base64) => { + let qr_svg = qr.image(base64, { type: 'png', margin: 4 }) + qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`)) +} + +const baileyIsValidNumber = (rawNumber) => { + const regexGroup = /\@g.us\b/gm + const exist = rawNumber.match(regexGroup) + return !exist +} + +module.exports = { baileyCleanNumber, baileyGenerateImage, baileyIsValidNumber } diff --git a/packages/provider/src/venom/index.js b/packages/provider/src/venom/index.js index 04f5e3b..bb167e4 100644 --- a/packages/provider/src/venom/index.js +++ b/packages/provider/src/venom/index.js @@ -4,7 +4,7 @@ const { venomCleanNumber, venomGenerateImage, venomisValidNumber, -} = require('./utils/utils') +} = require('./utils') /** * ⚙️ VenomProvider: Es una clase tipo adaptor @@ -13,7 +13,6 @@ const { */ class VenomProvider extends ProviderClass { vendor - constructor() { super() this.init().then(() => this.initBusEvents()) diff --git a/packages/provider/src/venom/utils/utils.js b/packages/provider/src/venom/utils.js similarity index 100% rename from packages/provider/src/venom/utils/utils.js rename to packages/provider/src/venom/utils.js diff --git a/packages/provider/src/web-whatsapp/index.js b/packages/provider/src/web-whatsapp/index.js index d7593e4..ae8747e 100644 --- a/packages/provider/src/web-whatsapp/index.js +++ b/packages/provider/src/web-whatsapp/index.js @@ -3,10 +3,10 @@ const { ProviderClass } = require('@bot-whatsapp/bot') const { Console } = require('console') const { createWriteStream } = require('fs') const { - cleanNumber, - generateImage, - isValidNumber, - downloadMedia, + wwebCleanNumber, + wwebDownloadMedia, + wwebGenerateImage, + wwebIsValidNumber, } = require('./utils') const logger = new Console({ @@ -65,7 +65,7 @@ class WebWhatsappProvider extends ProviderClass { `Necesitas ayuda: https://link.codigoencasa.com/DISCORD`, ], }) - generateImage(qr) + wwebGenerateImage(qr) }, }, { @@ -79,10 +79,10 @@ class WebWhatsappProvider extends ProviderClass { return } - if (!isValidNumber(payload.from)) { + if (!wwebIsValidNumber(payload.from)) { return } - payload.from = cleanNumber(payload.from, true) + payload.from = wwebCleanNumber(payload.from, true) this.emit('message', payload) }, }, @@ -98,7 +98,7 @@ class WebWhatsappProvider extends ProviderClass { */ sendMedia = async (number, mediaInput = null) => { if (!mediaInput) throw new Error(`NO_SE_ENCONTRO: ${mediaInput}`) - const fileDownloaded = await downloadMedia(mediaInput) + const fileDownloaded = await wwebDownloadMedia(mediaInput) const media = MessageMedia.fromFilePath(fileDownloaded) return this.vendor.sendMessage(number, media, { sendAudioAsVoice: true, @@ -163,7 +163,7 @@ class WebWhatsappProvider extends ProviderClass { * @returns */ sendMessage = async (userId, message, { options }) => { - const number = cleanNumber(userId) + const number = wwebCleanNumber(userId) if (options?.buttons?.length) return this.sendButtons(number, message, options.buttons) if (options?.media) return this.sendMedia(number, options.media) diff --git a/packages/provider/src/web-whatsapp/utils.js b/packages/provider/src/web-whatsapp/utils.js index 2f987e2..4a29b35 100644 --- a/packages/provider/src/web-whatsapp/utils.js +++ b/packages/provider/src/web-whatsapp/utils.js @@ -4,18 +4,18 @@ const { tmpdir } = require('os') const http = require('http') const https = require('https') -const cleanNumber = (number, full = false) => { +const wwebCleanNumber = (number, full = false) => { number = number.replace('@c.us', '') number = !full ? `${number}@c.us` : `${number}` return number } -const generateImage = (base64) => { +const wwebGenerateImage = (base64) => { let qr_svg = qr.image(base64, { type: 'png', margin: 4 }) - qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.svg`)) + qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`)) } -const isValidNumber = (rawNumber) => { +const wwebIsValidNumber = (rawNumber) => { const regexGroup = /\@g.us\b/gm const exist = rawNumber.match(regexGroup) return !exist @@ -27,7 +27,7 @@ const isValidNumber = (rawNumber) => { * @param {*} url * @returns */ -const downloadMedia = (url) => { +const wwebDownloadMedia = (url) => { return new Promise((resolve, reject) => { const ext = url.split('.').pop() const checkProtocol = url.includes('https:') @@ -50,4 +50,9 @@ const downloadMedia = (url) => { }) } -module.exports = { cleanNumber, generateImage, isValidNumber, downloadMedia } +module.exports = { + wwebCleanNumber, + wwebGenerateImage, + wwebIsValidNumber, + wwebDownloadMedia, +} From c868f7346245bec94582b25a342febc657926c9d Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 14 Dec 2022 18:59:03 +0100 Subject: [PATCH 20/20] feat(cli): :sparkles: added bailey --- packages/cli/interactive/index.js | 2 +- starters/apps/base-bailey-memory/README.md | 12 +++ starters/apps/base-bailey-memory/app.js | 82 +++++++++++++++++++ starters/apps/base-bailey-memory/package.json | 20 +++++ starters/apps/base-bailey-mongo/README.md | 12 +++ starters/apps/base-bailey-mongo/app.js | 82 +++++++++++++++++++ starters/apps/base-bailey-mongo/package.json | 20 +++++ starters/apps/base-bailey-mysql/README.md | 12 +++ starters/apps/base-bailey-mysql/app.js | 82 +++++++++++++++++++ starters/apps/base-bailey-mysql/package.json | 20 +++++ 10 files changed, 343 insertions(+), 1 deletion(-) create mode 100644 starters/apps/base-bailey-memory/README.md create mode 100644 starters/apps/base-bailey-memory/app.js create mode 100644 starters/apps/base-bailey-memory/package.json create mode 100644 starters/apps/base-bailey-mongo/README.md create mode 100644 starters/apps/base-bailey-mongo/app.js create mode 100644 starters/apps/base-bailey-mongo/package.json create mode 100644 starters/apps/base-bailey-mysql/README.md create mode 100644 starters/apps/base-bailey-mysql/app.js create mode 100644 starters/apps/base-bailey-mysql/package.json diff --git a/packages/cli/interactive/index.js b/packages/cli/interactive/index.js index e6ef4d4..7da0029 100644 --- a/packages/cli/interactive/index.js +++ b/packages/cli/interactive/index.js @@ -35,7 +35,7 @@ const startInteractive = async () => { { title: 'whatsapp-web.js (gratis)', value: 'wweb' }, { title: 'Twilio', value: 'twilio' }, { title: 'Venom (gratis)', value: 'venom' }, - { title: 'Baileys (gratis)', value: 'bailey', disabled: true }, + { title: 'Baileys (gratis)', value: 'bailey' }, { title: 'API Oficial (Meta)', value: 'meta', disabled: true }, ], max: 1, diff --git a/starters/apps/base-bailey-memory/README.md b/starters/apps/base-bailey-memory/README.md new file mode 100644 index 0000000..f8e0e90 --- /dev/null +++ b/starters/apps/base-bailey-memory/README.md @@ -0,0 +1,12 @@ +### BASE APP + +Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde. +- Bienvenido a mi tienda +- Como puedo ayudarte? +- Tengo: Zapatos Bolsos etc.. + +------ +- [Discord](https://link.codigoencasa.com/DISCORD) +- [Twitter](https://twitter.com/leifermendez) +- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR) +- [Telegram](https://t.me/leifermendez) diff --git a/starters/apps/base-bailey-memory/app.js b/starters/apps/base-bailey-memory/app.js new file mode 100644 index 0000000..fdc0fdd --- /dev/null +++ b/starters/apps/base-bailey-memory/app.js @@ -0,0 +1,82 @@ +const { + createBot, + createProvider, + createFlow, + addKeyword, + addChild, +} = require('@bot-whatsapp/bot') + +const BaileysProvider = require('@bot-whatsapp/provider/baileys') +const MockAdapter = require('@bot-whatsapp/database/mock') + +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + ['Manda:', '*2*', 'o', '*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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + ['Manda:', '*2*', 'o', '*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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') + .addAnswer('Como puedo ayudarte?') + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + ['Para continuar escribe:', '*Zapatos*', 'o', '*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) + +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + const adapterProvider = createProvider(BaileysProvider) + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() diff --git a/starters/apps/base-bailey-memory/package.json b/starters/apps/base-bailey-memory/package.json new file mode 100644 index 0000000..1efeb95 --- /dev/null +++ b/starters/apps/base-bailey-memory/package.json @@ -0,0 +1,20 @@ +{ + "name": "bot-whatsapp-base-bailey-memory", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "pre-copy": "cd .. && yarn run copy.lib base-bailey-memory", + "start": "node app.js" + }, + "keywords": [], + "dependencies": { + "@adiwajshing/baileys": "^4.4.0", + "@bot-whatsapp/bot": "latest", + "@bot-whatsapp/cli": "latest", + "@bot-whatsapp/database": "latest", + "@bot-whatsapp/provider": "latest" + }, + "author": "", + "license": "ISC" +} diff --git a/starters/apps/base-bailey-mongo/README.md b/starters/apps/base-bailey-mongo/README.md new file mode 100644 index 0000000..f8e0e90 --- /dev/null +++ b/starters/apps/base-bailey-mongo/README.md @@ -0,0 +1,12 @@ +### BASE APP + +Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde. +- Bienvenido a mi tienda +- Como puedo ayudarte? +- Tengo: Zapatos Bolsos etc.. + +------ +- [Discord](https://link.codigoencasa.com/DISCORD) +- [Twitter](https://twitter.com/leifermendez) +- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR) +- [Telegram](https://t.me/leifermendez) diff --git a/starters/apps/base-bailey-mongo/app.js b/starters/apps/base-bailey-mongo/app.js new file mode 100644 index 0000000..fdc0fdd --- /dev/null +++ b/starters/apps/base-bailey-mongo/app.js @@ -0,0 +1,82 @@ +const { + createBot, + createProvider, + createFlow, + addKeyword, + addChild, +} = require('@bot-whatsapp/bot') + +const BaileysProvider = require('@bot-whatsapp/provider/baileys') +const MockAdapter = require('@bot-whatsapp/database/mock') + +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + ['Manda:', '*2*', 'o', '*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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + ['Manda:', '*2*', 'o', '*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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') + .addAnswer('Como puedo ayudarte?') + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + ['Para continuar escribe:', '*Zapatos*', 'o', '*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) + +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + const adapterProvider = createProvider(BaileysProvider) + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() diff --git a/starters/apps/base-bailey-mongo/package.json b/starters/apps/base-bailey-mongo/package.json new file mode 100644 index 0000000..d2ffa4a --- /dev/null +++ b/starters/apps/base-bailey-mongo/package.json @@ -0,0 +1,20 @@ +{ + "name": "bot-whatsapp-base-bailey-mongo", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "pre-copy": "cd .. && yarn run copy.lib base-bailey-mongo", + "start": "node app.js" + }, + "keywords": [], + "dependencies": { + "@adiwajshing/baileys": "^4.4.0", + "@bot-whatsapp/bot": "latest", + "@bot-whatsapp/cli": "latest", + "@bot-whatsapp/database": "latest", + "@bot-whatsapp/provider": "latest" + }, + "author": "", + "license": "ISC" +} diff --git a/starters/apps/base-bailey-mysql/README.md b/starters/apps/base-bailey-mysql/README.md new file mode 100644 index 0000000..f8e0e90 --- /dev/null +++ b/starters/apps/base-bailey-mysql/README.md @@ -0,0 +1,12 @@ +### BASE APP + +Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde. +- Bienvenido a mi tienda +- Como puedo ayudarte? +- Tengo: Zapatos Bolsos etc.. + +------ +- [Discord](https://link.codigoencasa.com/DISCORD) +- [Twitter](https://twitter.com/leifermendez) +- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR) +- [Telegram](https://t.me/leifermendez) diff --git a/starters/apps/base-bailey-mysql/app.js b/starters/apps/base-bailey-mysql/app.js new file mode 100644 index 0000000..fdc0fdd --- /dev/null +++ b/starters/apps/base-bailey-mysql/app.js @@ -0,0 +1,82 @@ +const { + createBot, + createProvider, + createFlow, + addKeyword, + addChild, +} = require('@bot-whatsapp/bot') + +const BaileysProvider = require('@bot-whatsapp/provider/baileys') +const MockAdapter = require('@bot-whatsapp/database/mock') + +/** + * Declarando flujo hijo + */ + +const flowBolsos2 = addKeyword(['bolsos2', '2']) + .addAnswer('🤯 *MUCHOS* bolsos ...') + .addAnswer('y mas bolsos... bla bla') + +const flowZapatos2 = addKeyword(['zapatos2', '2']) + .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.') + .addAnswer('y algunas otras cosas.') + +const flowZapatos = addKeyword(['zapatos', 'ZAPATOS']) + .addAnswer('🤯 Veo que elegiste zapatos') + .addAnswer('Tengo muchos zapatos...bla bla') + .addAnswer( + ['Manda:', '*2*', 'o', '*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) + }, + [...addChild(flowZapatos2)] + ) + +const flowBolsos = addKeyword(['bolsos', 'BOLSOS']) + .addAnswer('🙌 Veo que elegiste bolsos') + .addAnswer('Tengo muchos bolsos...bla bla') + .addAnswer( + ['Manda:', '*2*', 'o', '*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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer('Hola, bienvenido a mi tienda') + .addAnswer('Como puedo ayudarte?') + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..']) + .addAnswer( + ['Para continuar escribe:', '*Zapatos*', 'o', '*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) + console.log(ctx['_data']['notifyName']) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) + +const main = async () => { + const adapterDB = new MockAdapter() + const adapterFlow = createFlow([flowPrincipal]) + const adapterProvider = createProvider(BaileysProvider) + createBot({ + flow: adapterFlow, + provider: adapterProvider, + database: adapterDB, + }) +} + +main() diff --git a/starters/apps/base-bailey-mysql/package.json b/starters/apps/base-bailey-mysql/package.json new file mode 100644 index 0000000..a52fd19 --- /dev/null +++ b/starters/apps/base-bailey-mysql/package.json @@ -0,0 +1,20 @@ +{ + "name": "bot-whatsapp-base-bailey-mysql", + "version": "1.0.0", + "description": "", + "main": "app.js", + "scripts": { + "pre-copy": "cd .. && yarn run copy.lib base-bailey-mysql", + "start": "node app.js" + }, + "keywords": [], + "dependencies": { + "@adiwajshing/baileys": "^4.4.0", + "@bot-whatsapp/bot": "latest", + "@bot-whatsapp/cli": "latest", + "@bot-whatsapp/database": "latest", + "@bot-whatsapp/provider": "latest" + }, + "author": "", + "license": "ISC" +}