From c793890c500f37fcd63474cfa86a7d517e3fbb95 Mon Sep 17 00:00:00 2001
From: leifermendez
Date: Tue, 10 Jan 2023 18:16:18 +0000
Subject: [PATCH 1/9] =?UTF-8?q?ci(providers):=20=F0=9F=91=8D=20updated=20v?=
=?UTF-8?q?ersions=20stable=20providers?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From c913d5ee5c45da4f079b983a751e80dcdd38a868 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 19:21:02 +0100
Subject: [PATCH 2/9] ci: :zap: change set commit
---
.github/workflows/releases.yml | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
index 1c2c263..77abeb9 100644
--- a/.github/workflows/releases.yml
+++ b/.github/workflows/releases.yml
@@ -27,6 +27,12 @@ jobs:
- run: corepack enable
+ - name: Set User
+ run: git config --global user.email "leifer.contacto@gmail.com" && git config --global user.name "Leifer Mendez"
+
+ - name: Set CHANGELOG
+ run: yarn release
+
- name: Install NPM Dependencies
run: yarn install --immutable --network-timeout 300000
@@ -51,12 +57,6 @@ jobs:
- name: Release @bot-whatsapp/portal
run: yarn node ./scripts/release.js --name=portal --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
- - name: Set User
- run: git config --global user.email "leifer.contacto@gmail.com" && git config --global user.name "Leifer Mendez"
-
- - name: Set CHANGELOG
- run: yarn release
-
- name: Commit Versioning & Push changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
From ac72c5e4e736ea8320747e439a92f13e53ea4c30 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 19:25:17 +0100
Subject: [PATCH 3/9] ci: :zap: change set commit
---
.github/workflows/releases.yml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
index 77abeb9..b2b0c96 100644
--- a/.github/workflows/releases.yml
+++ b/.github/workflows/releases.yml
@@ -1,10 +1,8 @@
name: 🚀⚡ Liberando versiones
on:
- push:
- tags:
- - 'pre-v*.*.*'
-
+ release:
+ types: [created]
jobs:
############ RELEASE ############
release:
From 44dfe8ed1aeff0172fc994d6f1d4d2f39f9c874a Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 19:28:00 +0100
Subject: [PATCH 4/9] ci(version): :zap: automatic - "${date}" updated versions
every packages
---
.github/workflows/releases.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
index b2b0c96..0ab449d 100644
--- a/.github/workflows/releases.yml
+++ b/.github/workflows/releases.yml
@@ -28,12 +28,12 @@ jobs:
- name: Set User
run: git config --global user.email "leifer.contacto@gmail.com" && git config --global user.name "Leifer Mendez"
- - name: Set CHANGELOG
- run: yarn release
-
- name: Install NPM Dependencies
run: yarn install --immutable --network-timeout 300000
+ - name: Set CHANGELOG
+ run: yarn release
+
- name: Build Package
run: yarn build:full
From bfb76c87a104a411d35acab6f228d8f1c5d961b3 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 19:42:35 +0100
Subject: [PATCH 5/9] ci: :zap: change set commit
---
.github/workflows/releases.yml | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
index 0ab449d..d692ee3 100644
--- a/.github/workflows/releases.yml
+++ b/.github/workflows/releases.yml
@@ -34,29 +34,33 @@ jobs:
- name: Set CHANGELOG
run: yarn release
+ - name: get-npm-version
+ id: package-version
+ uses: martinbeentjes/npm-get-version-action@main
+
- name: Build Package
run: yarn build:full
- name: Release @bot-whatsapp/bot
- run: yarn node ./scripts/release.js --name=bot --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
+ run: yarn node ./scripts/release.js --name=bot --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}"
- name: Release @bot-whatsapp/cli
- run: yarn node ./scripts/release.js --name=cli --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
+ run: yarn node ./scripts/release.js --name=cli --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}"
- name: Release @bot-whatsapp/create-bot-whatsapp
- run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
+ run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}"
- name: Release @bot-whatsapp/database
- run: yarn node ./scripts/release.js --name=database --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
+ run: yarn node ./scripts/release.js --name=database --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}"
- name: Release @bot-whatsapp/provider
- run: yarn node ./scripts/release.js --name=provider --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
+ run: yarn node ./scripts/release.js --name=provider --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}"
- name: Release @bot-whatsapp/portal
- run: yarn node ./scripts/release.js --name=portal --version="${{ steps.vars.outputs.tag }}" --token="${{ secrets.NPM_TOKEN }}"
+ run: yarn node ./scripts/release.js --name=portal --version="${{ steps.package-version.outputs.current-version}}" --token="${{ secrets.NPM_TOKEN }}"
- - name: Commit Versioning & Push changes
- uses: stefanzweifel/git-auto-commit-action@v4
+ - name: Commit and push changes
+ uses: devops-infra/action-commit-push@master
with:
- commit_message: 'release(version): 🚀 - "${{ steps.vars.outputs.tag }}" release'
- branch: dev
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ commit_message: 'release(version): 🚀 - "${{ steps.package-version.outputs.current-version}}" release'
From 74a13013421bc12ba79301cd61aaf74e27fe6648 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 19:45:17 +0100
Subject: [PATCH 6/9] chore(release): 0.1.7
---
CHANGELOG.md | 2 ++
package.json | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e32af1a..2b71991 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+### [0.1.7](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.7) (2023-01-10)
+
### [0.1.6](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.5...v0.1.6) (2023-01-10)
diff --git a/package.json b/package.json
index 58efaba..278145e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@bot-whatsapp/root",
- "version": "0.1.6",
+ "version": "0.1.7",
"description": "Bot de wahtsapp open source para MVP o pequeños negocios",
"main": "app.js",
"private": true,
From 16e4575777cf5e581f89b8693d57f4ef15783860 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 19:45:31 +0100
Subject: [PATCH 7/9] chore(release): 0.1.8
---
CHANGELOG.md | 2 ++
package.json | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2b71991..eae6a68 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+### [0.1.8](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.8) (2023-01-10)
+
### [0.1.7](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.7-pre...v0.1.7) (2023-01-10)
### [0.1.6](https://github.com/leifermendez/bot-whatsapp/compare/v0.1.5...v0.1.6) (2023-01-10)
diff --git a/package.json b/package.json
index 278145e..b15b835 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@bot-whatsapp/root",
- "version": "0.1.7",
+ "version": "0.1.8",
"description": "Bot de wahtsapp open source para MVP o pequeños negocios",
"main": "app.js",
"private": true,
From ecde23fdea65def209aa874af35a3f293e6b1a91 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Tue, 10 Jan 2023 22:46:08 +0100
Subject: [PATCH 8/9] fix: :fire: update qr package
---
.github/workflows/netlify.yml | 1 -
.github/workflows/releases.yml | 5 +-
starters/apps/base-baileys-json/Dockerfile | 4 +-
starters/apps/base-baileys-json/README.md | 20 +---
starters/apps/base-baileys-json/app.js | 96 +++++++------------
starters/apps/base-baileys-json/package.json | 3 +-
.../apps/base-baileys-json/public/index.html | 80 ----------------
.../apps/base-baileys-json/server.http.js | 34 -------
starters/apps/base-baileys-memory/Dockerfile | 4 +-
starters/apps/base-baileys-memory/README.md | 20 +---
starters/apps/base-baileys-memory/app.js | 96 +++++++------------
.../apps/base-baileys-memory/package.json | 3 +-
.../base-baileys-memory/public/index.html | 80 ----------------
.../apps/base-baileys-memory/server.http.js | 34 -------
starters/apps/base-baileys-mongo/package.json | 2 +-
.../apps/base-baileys-mongo/public/index.html | 80 ----------------
.../apps/base-baileys-mongo/server.http.js | 34 -------
starters/apps/base-baileys-mysql/package.json | 2 +-
starters/apps/base-meta-json/package.json | 2 +-
starters/apps/base-meta-memory/package.json | 2 +-
starters/apps/base-meta-mongo/package.json | 2 +-
starters/apps/base-meta-mysql/package.json | 2 +-
starters/apps/base-twilio-json/package.json | 2 +-
starters/apps/base-twilio-memory/package.json | 2 +-
starters/apps/base-twilio-mongo/package.json | 2 +-
starters/apps/base-twilio-mysql/package.json | 2 +-
starters/apps/base-venom-json/package.json | 2 +-
starters/apps/base-venom-memory/package.json | 2 +-
starters/apps/base-venom-mongo/package.json | 2 +-
starters/apps/base-venom-mysql/package.json | 2 +-
starters/apps/base-wweb-json/package.json | 2 +-
starters/apps/base-wweb-memory/package.json | 2 +-
starters/apps/base-wweb-mongo/package.json | 2 +-
starters/apps/base-wweb-mysql/package.json | 2 +-
34 files changed, 105 insertions(+), 525 deletions(-)
delete mode 100644 starters/apps/base-baileys-json/public/index.html
delete mode 100644 starters/apps/base-baileys-json/server.http.js
delete mode 100644 starters/apps/base-baileys-memory/public/index.html
delete mode 100644 starters/apps/base-baileys-memory/server.http.js
delete mode 100644 starters/apps/base-baileys-mongo/public/index.html
delete mode 100644 starters/apps/base-baileys-mongo/server.http.js
diff --git a/.github/workflows/netlify.yml b/.github/workflows/netlify.yml
index bdb51ab..76d5383 100644
--- a/.github/workflows/netlify.yml
+++ b/.github/workflows/netlify.yml
@@ -3,7 +3,6 @@ name: 📄 (PROD) Desplegando documentacion
on:
push:
branches:
- - main
- next-release
jobs:
diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml
index d692ee3..df211d4 100644
--- a/.github/workflows/releases.yml
+++ b/.github/workflows/releases.yml
@@ -1,8 +1,9 @@
name: 🚀⚡ Liberando versiones
on:
- release:
- types: [created]
+ push:
+ branches:
+ - production-release
jobs:
############ RELEASE ############
release:
diff --git a/starters/apps/base-baileys-json/Dockerfile b/starters/apps/base-baileys-json/Dockerfile
index 14b07b2..7fb6d5d 100644
--- a/starters/apps/base-baileys-json/Dockerfile
+++ b/starters/apps/base-baileys-json/Dockerfile
@@ -1,7 +1,9 @@
-FROM node:lts-bullseye as bot
+FROM node:18-bullseye as bot
WORKDIR /app
COPY package*.json ./
RUN npm i
COPY . .
+ARG RAILWAY_STATIC_URL
+ARG PUBLIC_URL
ARG PORT
CMD ["npm", "start"]
diff --git a/starters/apps/base-baileys-json/README.md b/starters/apps/base-baileys-json/README.md
index a31dc9f..13d73f2 100644
--- a/starters/apps/base-baileys-json/README.md
+++ b/starters/apps/base-baileys-json/README.md
@@ -5,26 +5,8 @@
-**Con esta librerÃa, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes. Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin lÃmites. **[Ver más informacion](https://bot-whatsapp.netlify.app/)**
+**Con esta librerÃa, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes. Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin lÃmites. **[Ver documentación](https://bot-whatsapp.netlify.app/)**
-```js
-const main = async () => {
- const adapterDB = new MockAdapter()
- const adapterFlow = createFlow([flowPrincipal])
-
- const adapterProvider = createProvider(BaileysProvider, {
- accountSid: process.env.ACC_SID,
- authToken: process.env.ACC_TOKEN,
- vendorNumber: process.env.ACC_VENDOR,
- })
-
- createBot({
- flow: adapterFlow,
- provider: adapterProvider,
- database: adapterDB,
- })
-}
-```
```
npm install
diff --git a/starters/apps/base-baileys-json/app.js b/starters/apps/base-baileys-json/app.js
index 99ecf65..67d4be6 100644
--- a/starters/apps/base-baileys-json/app.js
+++ b/starters/apps/base-baileys-json/app.js
@@ -5,86 +5,62 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortalWeb = require('@bot-whatsapp/portal')
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const JsonFileAdapter = require('@bot-whatsapp/database/json')
-/**
- * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
- *
- * Menu Principal
- * - SubMenu 1
- * - Submenu 1.1
- * - Submenu 2
- * - Submenu 2.1
- *
- * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
- */
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentación',
+]).addAnswer([
+ '📄 Aquà encontras las documentación recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+])
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('🤯 *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer([
+ '🙌 Aquà encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer([
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+])
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('🤯 Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas información'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver más info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
-
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('🙌 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas información.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver más info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
-
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer([
+ '🤪 Únete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+])
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver más info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '👉 *doc* para ver la documentación',
+ '👉 *gracias* para ver la lista de videos',
+ '👉 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
const adapterDB = new JsonFileAdapter()
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(BaileysProvider)
+
createBot({
flow: adapterFlow,
provider: adapterProvider,
database: adapterDB,
})
+
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-baileys-json/package.json b/starters/apps/base-baileys-json/package.json
index 7693630..1ecbe56 100644
--- a/starters/apps/base-baileys-json/package.json
+++ b/starters/apps/base-baileys-json/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-bailey-json",
+ "name": "base-bailey-json",
"version": "1.0.0",
"description": "",
"main": "app.js",
@@ -13,6 +13,7 @@
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest",
+ "@bot-whatsapp/portal": "latest",
"@adiwajshing/baileys": "4.4.0",
"mime-types": "2.1.35",
"wa-sticker-formatter": "4.3.2"
diff --git a/starters/apps/base-baileys-json/public/index.html b/starters/apps/base-baileys-json/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-baileys-json/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 🤖 Crear chatbot WhatsApp en minutos
-
-
-
-
-

-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Además,
- nuestro Chatbot se integra fácilmente con otros sistemas y
- herramientas que ya esté utilizando en su negocio.
-
-
-
-
-
-
diff --git a/starters/apps/base-baileys-json/server.http.js b/starters/apps/base-baileys-json/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-baileys-json/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-baileys-memory/Dockerfile b/starters/apps/base-baileys-memory/Dockerfile
index 14b07b2..7fb6d5d 100644
--- a/starters/apps/base-baileys-memory/Dockerfile
+++ b/starters/apps/base-baileys-memory/Dockerfile
@@ -1,7 +1,9 @@
-FROM node:lts-bullseye as bot
+FROM node:18-bullseye as bot
WORKDIR /app
COPY package*.json ./
RUN npm i
COPY . .
+ARG RAILWAY_STATIC_URL
+ARG PUBLIC_URL
ARG PORT
CMD ["npm", "start"]
diff --git a/starters/apps/base-baileys-memory/README.md b/starters/apps/base-baileys-memory/README.md
index a31dc9f..13d73f2 100644
--- a/starters/apps/base-baileys-memory/README.md
+++ b/starters/apps/base-baileys-memory/README.md
@@ -5,26 +5,8 @@
-**Con esta librerÃa, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes. Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin lÃmites. **[Ver más informacion](https://bot-whatsapp.netlify.app/)**
+**Con esta librerÃa, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes. Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin lÃmites. **[Ver documentación](https://bot-whatsapp.netlify.app/)**
-```js
-const main = async () => {
- const adapterDB = new MockAdapter()
- const adapterFlow = createFlow([flowPrincipal])
-
- const adapterProvider = createProvider(BaileysProvider, {
- accountSid: process.env.ACC_SID,
- authToken: process.env.ACC_TOKEN,
- vendorNumber: process.env.ACC_VENDOR,
- })
-
- createBot({
- flow: adapterFlow,
- provider: adapterProvider,
- database: adapterDB,
- })
-}
-```
```
npm install
diff --git a/starters/apps/base-baileys-memory/app.js b/starters/apps/base-baileys-memory/app.js
index 522bb6c..a8fbd00 100644
--- a/starters/apps/base-baileys-memory/app.js
+++ b/starters/apps/base-baileys-memory/app.js
@@ -5,86 +5,62 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortalWeb = require('@bot-whatsapp/portal')
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const MockAdapter = require('@bot-whatsapp/database/mock')
-/**
- * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
- *
- * Menu Principal
- * - SubMenu 1
- * - Submenu 1.1
- * - Submenu 2
- * - Submenu 2.1
- *
- * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
- */
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentación',
+]).addAnswer([
+ '📄 Aquà encontras las documentación recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+])
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('🤯 *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer([
+ '🙌 Aquà encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer([
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+])
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('🤯 Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas información'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver más info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
-
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('🙌 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas información.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver más info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
-
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer([
+ '🤪 Únete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+])
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver más info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '👉 *doc* para ver la documentación',
+ '👉 *gracias* para ver la lista de videos',
+ '👉 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(BaileysProvider)
+
createBot({
flow: adapterFlow,
provider: adapterProvider,
database: adapterDB,
})
+
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-baileys-memory/package.json b/starters/apps/base-baileys-memory/package.json
index 481e00a..2d01103 100644
--- a/starters/apps/base-baileys-memory/package.json
+++ b/starters/apps/base-baileys-memory/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-bailey-memory",
+ "name": "base-bailey-memory",
"version": "1.0.0",
"description": "",
"main": "app.js",
@@ -13,6 +13,7 @@
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest",
+ "@bot-whatsapp/portal": "latest",
"@adiwajshing/baileys": "4.4.0",
"mime-types": "2.1.35",
"wa-sticker-formatter": "4.3.2"
diff --git a/starters/apps/base-baileys-memory/public/index.html b/starters/apps/base-baileys-memory/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-baileys-memory/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 🤖 Crear chatbot WhatsApp en minutos
-
-
-
-
-

-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Además,
- nuestro Chatbot se integra fácilmente con otros sistemas y
- herramientas que ya esté utilizando en su negocio.
-
-
-
-
-
-
diff --git a/starters/apps/base-baileys-memory/server.http.js b/starters/apps/base-baileys-memory/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-baileys-memory/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-baileys-mongo/package.json b/starters/apps/base-baileys-mongo/package.json
index d828a88..c2f8624 100644
--- a/starters/apps/base-baileys-mongo/package.json
+++ b/starters/apps/base-baileys-mongo/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-bailey-mongo",
+ "name": "base-bailey-mongo",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-baileys-mongo/public/index.html b/starters/apps/base-baileys-mongo/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-baileys-mongo/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 🤖 Crear chatbot WhatsApp en minutos
-
-
-
-
-

-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Además,
- nuestro Chatbot se integra fácilmente con otros sistemas y
- herramientas que ya esté utilizando en su negocio.
-
-
-
-
-
-
diff --git a/starters/apps/base-baileys-mongo/server.http.js b/starters/apps/base-baileys-mongo/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-baileys-mongo/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-baileys-mysql/package.json b/starters/apps/base-baileys-mysql/package.json
index 4a7b07a..7ecb417 100644
--- a/starters/apps/base-baileys-mysql/package.json
+++ b/starters/apps/base-baileys-mysql/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-bailey-mysql",
+ "name": "base-bailey-mysql",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-meta-json/package.json b/starters/apps/base-meta-json/package.json
index 3243406..e034a53 100644
--- a/starters/apps/base-meta-json/package.json
+++ b/starters/apps/base-meta-json/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-meta-json",
+ "name": "base-meta-json",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-meta-memory/package.json b/starters/apps/base-meta-memory/package.json
index f86e916..51da345 100644
--- a/starters/apps/base-meta-memory/package.json
+++ b/starters/apps/base-meta-memory/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-meta-memory",
+ "name": "base-meta-memory",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-meta-mongo/package.json b/starters/apps/base-meta-mongo/package.json
index 94055f8..686ac63 100644
--- a/starters/apps/base-meta-mongo/package.json
+++ b/starters/apps/base-meta-mongo/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-meta-mongo",
+ "name": "base-meta-mongo",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-meta-mysql/package.json b/starters/apps/base-meta-mysql/package.json
index a9a71b0..45fe39e 100644
--- a/starters/apps/base-meta-mysql/package.json
+++ b/starters/apps/base-meta-mysql/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-meta-mysql",
+ "name": "base-meta-mysql",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-twilio-json/package.json b/starters/apps/base-twilio-json/package.json
index 4f5fdf4..00ab354 100644
--- a/starters/apps/base-twilio-json/package.json
+++ b/starters/apps/base-twilio-json/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-twilio-json",
+ "name": "base-twilio-json",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-twilio-memory/package.json b/starters/apps/base-twilio-memory/package.json
index e71ca5a..cdfaf65 100644
--- a/starters/apps/base-twilio-memory/package.json
+++ b/starters/apps/base-twilio-memory/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-twilio-memory",
+ "name": "base-twilio-memory",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-twilio-mongo/package.json b/starters/apps/base-twilio-mongo/package.json
index 4a8c063..69a05bb 100644
--- a/starters/apps/base-twilio-mongo/package.json
+++ b/starters/apps/base-twilio-mongo/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-twilio-mongo",
+ "name": "base-twilio-mongo",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-twilio-mysql/package.json b/starters/apps/base-twilio-mysql/package.json
index d4c4d37..453955b 100644
--- a/starters/apps/base-twilio-mysql/package.json
+++ b/starters/apps/base-twilio-mysql/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-twilio-mysql",
+ "name": "base-twilio-mysql",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-venom-json/package.json b/starters/apps/base-venom-json/package.json
index 88d7f6f..4d10427 100644
--- a/starters/apps/base-venom-json/package.json
+++ b/starters/apps/base-venom-json/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-venom-json",
+ "name": "base-venom-json",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-venom-memory/package.json b/starters/apps/base-venom-memory/package.json
index dfe5408..57af4e1 100644
--- a/starters/apps/base-venom-memory/package.json
+++ b/starters/apps/base-venom-memory/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-venom-memory",
+ "name": "base-venom-memory",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-venom-mongo/package.json b/starters/apps/base-venom-mongo/package.json
index 3b46613..0d84d2b 100644
--- a/starters/apps/base-venom-mongo/package.json
+++ b/starters/apps/base-venom-mongo/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-venom-mongo",
+ "name": "base-venom-mongo",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-venom-mysql/package.json b/starters/apps/base-venom-mysql/package.json
index 670fd00..a029a70 100644
--- a/starters/apps/base-venom-mysql/package.json
+++ b/starters/apps/base-venom-mysql/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-venom-mysql",
+ "name": "base-venom-mysql",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-wweb-json/package.json b/starters/apps/base-wweb-json/package.json
index 9abc893..d55dfeb 100644
--- a/starters/apps/base-wweb-json/package.json
+++ b/starters/apps/base-wweb-json/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-wweb-json",
+ "name": "base-wweb-json",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-wweb-memory/package.json b/starters/apps/base-wweb-memory/package.json
index fbf9400..d9c3ee0 100644
--- a/starters/apps/base-wweb-memory/package.json
+++ b/starters/apps/base-wweb-memory/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-wweb-memory",
+ "name": "base-wweb-memory",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-wweb-mongo/package.json b/starters/apps/base-wweb-mongo/package.json
index c58767a..e7ecebb 100644
--- a/starters/apps/base-wweb-mongo/package.json
+++ b/starters/apps/base-wweb-mongo/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-wweb-mongo",
+ "name": "base-wweb-mongo",
"version": "1.0.0",
"description": "",
"main": "app.js",
diff --git a/starters/apps/base-wweb-mysql/package.json b/starters/apps/base-wweb-mysql/package.json
index b1c44ff..3ab34d5 100644
--- a/starters/apps/base-wweb-mysql/package.json
+++ b/starters/apps/base-wweb-mysql/package.json
@@ -1,5 +1,5 @@
{
- "name": "bot-whatsapp-base-wweb-mysql",
+ "name": "base-wweb-mysql",
"version": "1.0.0",
"description": "",
"main": "app.js",
From 2fc274725df91d5e83b4f3eab233c149b4715d05 Mon Sep 17 00:00:00 2001
From: Leifer Mendez
Date: Wed, 11 Jan 2023 11:58:25 +0100
Subject: [PATCH 9/9] docs: :memo: meta added
---
.../docs/src/routes/docs/providers/index.mdx | 6 +
.../src/routes/docs/providers/meta/index.mdx | 158 +++++++++++++++++-
2 files changed, 163 insertions(+), 1 deletion(-)
diff --git a/packages/docs/src/routes/docs/providers/index.mdx b/packages/docs/src/routes/docs/providers/index.mdx
index 26241ec..0f6db6a 100644
--- a/packages/docs/src/routes/docs/providers/index.mdx
+++ b/packages/docs/src/routes/docs/providers/index.mdx
@@ -39,6 +39,12 @@ Estamos trabajando en el apartado de la documentación lo más claro posible. Pu
---
+### Meta: Configuración
+
+Estamos trabajando en el apartado de la documentación lo más claro posible. Puedes encontrar los [detalles aquÃ](/docs/providers/meta)
+
+---
+
+ En el ejemplo de abajo puedes ver como una sugerencia de como puede ser
+ utilizando variables de entorno
+
+
+```js
+const main = async () => {
+ const adapterDB = new MockAdapter()
+ const adapterFlow = createFlow([flowPrincipal])
+
+ const adapterProvider = createProvider(MetaProvider, {
+ jwtToken: process.env.JWTOKEN, //EAARBW3ZBGU0UBAACDjtQIzI8JuEa.............
+ numberId: process.env.NUMBER_ID, //103975305758520
+ verifyToken: process.env.VERIFY_TOKEN, //LO_QUE_SEA
+ })
+
+ createBot({
+ flow: adapterFlow,
+ provider: adapterProvider,
+ database: adapterDB,
+ })
+}
+
+main()
+```
+
+---
+
+Luego de ejecutar el bot encontraras un mensaje en la consola similar al siguiente.
+Donde podrás encontrar la URL para tu **webhook**
+
+```shell
+$ npm start
+
+> bot-whatsapp-base-meta-memory@1.0.0 start
+> node app.js
+
+
+[meta]: Agregar esta url "WHEN A MESSAGE COMES IN"
+[meta]: POST http://localhost:3000/webhook
+[meta]: Más información en la documentacion
+```
+
+---
+
+## ¿Ahora que hago?
+
+Podrás observar que el bot inicia un servicio HTTP (endpoint) que debe estar en un servidor en linea para que puedas conectarlo con Meta.
+
+---
+
+### Opción 1:
+
+Puedes hacer pruebas en local atrevés de un servidor proxy tunnel.Â
+Descarga **[ngork](https://ngrok.com/download)** es una herramienta gratuita que nos ayudara con esto.
+
+
+
+---
+
+Esto genera una URL en lÃnea que podemos usar en la parte de **WebHook** de Meta
+
+
+
+---
+
+
+
+---
+
+
+
+---
+
+
+
+---
+
+### Opción 2:
+
+Si ya tienes desplegado tu bot en un servidor tienes que obtener la IP publica o subdominio que te proporcionaron. **Ejemplo** si estas usando
+[Railway](https://railway.app/) puedes ir a la seccion de ajustes y generar un subdominio. Ya tendriamos el **WebHook**
+`https://base-twilio-memory-production.up.railway.app/twilio-hook`
+
+
+
+---
+
+
+
+---
+
+