- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-baileys-mysql/server.http.js b/starters/apps/base-baileys-mysql/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-baileys-mysql/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-meta-json/app.js b/starters/apps/base-meta-json/app.js
index 49dd430..cc4c7ac 100644
--- a/starters/apps/base-meta-json/app.js
+++ b/starters/apps/base-meta-json/app.js
@@ -20,58 +20,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-meta-memory/app.js b/starters/apps/base-meta-memory/app.js
index 288929c..c8201e8 100644
--- a/starters/apps/base-meta-memory/app.js
+++ b/starters/apps/base-meta-memory/app.js
@@ -20,58 +20,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-meta-mongo/app.js b/starters/apps/base-meta-mongo/app.js
index f40a6a2..18cd9ac 100644
--- a/starters/apps/base-meta-mongo/app.js
+++ b/starters/apps/base-meta-mongo/app.js
@@ -27,58 +27,72 @@ const MONGO_DB_NAME = 'db_bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-meta-mysql/app.js b/starters/apps/base-meta-mysql/app.js
index 25b171c..102f977 100644
--- a/starters/apps/base-meta-mysql/app.js
+++ b/starters/apps/base-meta-mysql/app.js
@@ -28,58 +28,72 @@ const MYSQL_DB_NAME = 'bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-twilio-json/app.js b/starters/apps/base-twilio-json/app.js
index 190e842..047a126 100644
--- a/starters/apps/base-twilio-json/app.js
+++ b/starters/apps/base-twilio-json/app.js
@@ -20,58 +20,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-twilio-memory/app.js b/starters/apps/base-twilio-memory/app.js
index 9730709..cc1d16b 100644
--- a/starters/apps/base-twilio-memory/app.js
+++ b/starters/apps/base-twilio-memory/app.js
@@ -20,58 +20,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-twilio-mongo/app.js b/starters/apps/base-twilio-mongo/app.js
index 9e5e3f7..dcabb99 100644
--- a/starters/apps/base-twilio-mongo/app.js
+++ b/starters/apps/base-twilio-mongo/app.js
@@ -27,58 +27,72 @@ const MONGO_DB_NAME = 'db_bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-twilio-mysql/app.js b/starters/apps/base-twilio-mysql/app.js
index 7100f9c..4725cd3 100644
--- a/starters/apps/base-twilio-mysql/app.js
+++ b/starters/apps/base-twilio-mysql/app.js
@@ -29,58 +29,72 @@ const MYSQL_DB_NAME = 'bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
diff --git a/starters/apps/base-venom-json/app.js b/starters/apps/base-venom-json/app.js
index c742f78..c399b5e 100644
--- a/starters/apps/base-venom-json/app.js
+++ b/starters/apps/base-venom-json/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const JsonFileAdapter = require('@bot-whatsapp/database/json')
@@ -22,58 +21,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -85,6 +98,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-venom-json/public/index.html b/starters/apps/base-venom-json/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-venom-json/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-venom-json/server.http.js b/starters/apps/base-venom-json/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-venom-json/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-venom-memory/app.js b/starters/apps/base-venom-memory/app.js
index 6f89ef2..c539f36 100644
--- a/starters/apps/base-venom-memory/app.js
+++ b/starters/apps/base-venom-memory/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const MockAdapter = require('@bot-whatsapp/database/mock')
@@ -22,58 +21,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -85,6 +98,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-venom-memory/public/index.html b/starters/apps/base-venom-memory/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-venom-memory/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-venom-memory/server.http.js b/starters/apps/base-venom-memory/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-venom-memory/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-venom-mongo/app.js b/starters/apps/base-venom-mongo/app.js
index d8de982..bae23f8 100644
--- a/starters/apps/base-venom-mongo/app.js
+++ b/starters/apps/base-venom-mongo/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const MongoAdapter = require('@bot-whatsapp/database/mongo')
@@ -29,58 +28,72 @@ const MONGO_DB_NAME = 'db_bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -95,6 +108,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-venom-mongo/public/index.html b/starters/apps/base-venom-mongo/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-venom-mongo/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-venom-mongo/server.http.js b/starters/apps/base-venom-mongo/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-venom-mongo/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-venom-mysql/app.js b/starters/apps/base-venom-mysql/app.js
index 24da8ee..737dc99 100644
--- a/starters/apps/base-venom-mysql/app.js
+++ b/starters/apps/base-venom-mysql/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
@@ -31,58 +30,72 @@ const MYSQL_DB_NAME = 'bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -99,6 +112,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-venom-mysql/public/index.html b/starters/apps/base-venom-mysql/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-venom-mysql/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-venom-mysql/server.http.js b/starters/apps/base-venom-mysql/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-venom-mysql/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-wweb-json/app.js b/starters/apps/base-wweb-json/app.js
index 31f03dd..3144bd0 100644
--- a/starters/apps/base-wweb-json/app.js
+++ b/starters/apps/base-wweb-json/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
const JsonFileAdapter = require('@bot-whatsapp/database/json')
@@ -22,58 +21,72 @@ const JsonFileAdapter = require('@bot-whatsapp/database/json')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -85,6 +98,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-wweb-json/public/index.html b/starters/apps/base-wweb-json/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-wweb-json/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-wweb-json/server.http.js b/starters/apps/base-wweb-json/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-wweb-json/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-wweb-memory/app.js b/starters/apps/base-wweb-memory/app.js
index 5318283..29eb0bc 100644
--- a/starters/apps/base-wweb-memory/app.js
+++ b/starters/apps/base-wweb-memory/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
const MockAdapter = require('@bot-whatsapp/database/mock')
@@ -22,58 +21,72 @@ const MockAdapter = require('@bot-whatsapp/database/mock')
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -85,6 +98,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-wweb-memory/public/index.html b/starters/apps/base-wweb-memory/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-wweb-memory/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-wweb-memory/server.http.js b/starters/apps/base-wweb-memory/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-wweb-memory/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-wweb-mongo/app.js b/starters/apps/base-wweb-mongo/app.js
index 34f3887..43eed81 100644
--- a/starters/apps/base-wweb-mongo/app.js
+++ b/starters/apps/base-wweb-mongo/app.js
@@ -4,12 +4,10 @@ const {
createFlow,
addKeyword,
} = require('@bot-whatsapp/bot')
-
+const QRPortal = require('@bot-whatsapp/portal')
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
const MongoAdapter = require('@bot-whatsapp/database/mongo')
-require('./server.http')
-
/**
* Declaramos las conexiones de Mongo
*/
@@ -29,58 +27,72 @@ const MONGO_DB_NAME = 'db_bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -95,6 +107,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-wweb-mongo/public/index.html b/starters/apps/base-wweb-mongo/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-wweb-mongo/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
Whatsapp QR
-
- F5 para actualizar, el codigo se actualiza cada minuto.
- Con esta libreria, puedes configurar respuestas
- automatizadas para preguntas frecuentes , recibir y
- responder mensajes de manera automatizada, y hacer un
- seguimiento de las interacciones con los clientes. Adem谩s,
- nuestro Chatbot se integra f谩cilmente con otros sistemas y
- herramientas que ya est茅 utilizando en su negocio.
-
-
-
diff --git a/starters/apps/base-wweb-mongo/server.http.js b/starters/apps/base-wweb-mongo/server.http.js
deleted file mode 100644
index 217bd71..0000000
--- a/starters/apps/base-wweb-mongo/server.http.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const http = require('http')
-const fs = require('fs')
-const path = require('path')
-
-const PORT = process.env.PORT || 3000
-
-/**
- * Levantar un HTTP Server
- */
-http.createServer(function (req, res) {
- var cssPath = undefined
- var fileStream = undefined
- var imagePath = undefined
-
- if (req.url === '/') {
- fs.readFile('./public/index.html', 'UTF-8', function (err, html) {
- res.writeHead(200, { 'Content-Type': 'text/html' })
- res.end(html)
- })
- } else if (req.url.match('.css$')) {
- cssPath = path.join(__dirname, 'public', req.url)
- fileStream = fs.createReadStream(cssPath, 'UTF-8')
- res.writeHead(200, { 'Content-Type': 'text/css' })
- fileStream.pipe(res)
- } else if (req.url.match('.png$')) {
- imagePath = path.join(__dirname, req.url)
- fileStream = fs.createReadStream(imagePath)
- res.writeHead(200, { 'Content-Type': 'image/png' })
- fileStream.pipe(res)
- } else {
- res.writeHead(404, { 'Content-Type': 'text/html' })
- res.end('No Page Found')
- }
-}).listen(PORT, () => console.log(`Escanear QR Code http://localhost:${PORT}`))
diff --git a/starters/apps/base-wweb-mysql/app.js b/starters/apps/base-wweb-mysql/app.js
index 2095842..2b31f4a 100644
--- a/starters/apps/base-wweb-mysql/app.js
+++ b/starters/apps/base-wweb-mysql/app.js
@@ -5,8 +5,7 @@ const {
addKeyword,
} = require('@bot-whatsapp/bot')
-require('./server.http')
-
+const QRPortal = require('@bot-whatsapp/portal')
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
@@ -31,58 +30,72 @@ const MYSQL_DB_NAME = 'bot'
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
-const flowBolsos2 = addKeyword(['bolsos2', '2'])
- .addAnswer('馃く *MUCHOS* bolsos ...')
- .addAnswer('y mas bolsos... bla bla')
+const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
+ '馃搫 Aqu铆 tenemos el flujo secundario',
+])
-const flowZapatos2 = addKeyword(['zapatos2', '2'])
- .addAnswer('馃く repito que tengo *MUCHOS* zapatos.')
- .addAnswer('y algunas otras cosas.')
+const flowDocs = addKeyword([
+ 'doc',
+ 'documentacion',
+ 'documentaci贸n',
+]).addAnswer(
+ [
+ '馃搫 Aqu铆 encontras las documentaci贸n recuerda que puedes mejorarla',
+ 'https://bot-whatsapp.netlify.app/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowZapatos = addKeyword(['1', 'zapatos', 'ZAPATOS'])
- .addAnswer('馃く Veo que elegiste zapatos')
- .addAnswer('Tengo muchos zapatos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Zapatos2*', 'para mas informaci贸n'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowZapatos2]
- )
+const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
+ [
+ '馃檶 Aqu铆 encontras un ejemplo rapido',
+ 'https://bot-whatsapp.netlify.app/docs/example/',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-const flowBolsos = addKeyword(['2', 'bolsos', 'BOLSOS'])
- .addAnswer('馃檶 Veo que elegiste bolsos')
- .addAnswer('Tengo muchos bolsos...bla bla')
- .addAnswer(
- ['Manda:', '*(2) Bolsos2*', 'para mas informaci贸n.'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos2]
- )
+const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
+ [
+ '馃殌 Puedes aportar tu granito de arena a este proyecto',
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
+ '[*patreon*] https://www.patreon.com/leifermendez',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
-/**
- * Declarando flujo principal
- */
+const flowDiscord = addKeyword(['discord']).addAnswer(
+ [
+ '馃お 脷nete al discord',
+ 'https://link.codigoencasa.com/DISCORD',
+ '\n*2* Para siguiente paso.',
+ ],
+ null,
+ null,
+ [flowSecundario]
+)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
- .addAnswer(['Hola, bienvenido a mi tienda', '驴Como puedo ayudarte?'])
- .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...'])
+ .addAnswer('馃檶 Hola bienvenido a este *Chatbot*')
.addAnswer(
- ['Para continuar escribe:', '*(1) Zapatos*', '*(2) Bolsos*'],
- { capture: true },
- (ctx) => {
- console.log('Aqui puedes ver m谩s info del usuario...')
- console.log('Puedes enviar un mail, hook, etc..')
- console.log(ctx)
- },
- [flowBolsos, flowZapatos]
+ [
+ 'te comparto los siguientes links de interes sobre el proyecto',
+ '馃憠 *doc* para ver la documentaci贸n',
+ '馃憠 *gracias* para ver la lista de videos',
+ '馃憠 *discord* unirte al discord',
+ ],
+ null,
+ null,
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
@@ -99,6 +112,7 @@ const main = async () => {
provider: adapterProvider,
database: adapterDB,
})
+ QRPortalWeb()
}
main()
diff --git a/starters/apps/base-wweb-mysql/public/index.html b/starters/apps/base-wweb-mysql/public/index.html
deleted file mode 100644
index 202b50c..0000000
--- a/starters/apps/base-wweb-mysql/public/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
- 馃 Crear chatbot WhatsApp en minutos
-
-
-
-
-
-
-
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.
-