Merge pull request #244 from cheveguerra/dev

feat: corregimos los datos de mysql en app.js y package.json
This commit is contained in:
Leifer Mendez
2022-12-17 23:41:40 +01:00
committed by GitHub
19 changed files with 273 additions and 48 deletions

View File

@@ -13,7 +13,7 @@ export default component$(() => {
clientes desde tu cuenta de Whatsapp automáticamente.
</p>
<p>
Este bot esta programado en Javascript y usa NodeJS y es{' '}
Este bot esta hecho en Javascript y usa NodeJS y es{' '}
<a href="https://www.redhat.com/es/topics/open-source/what-is-open-source">
Open Source
</a>
@@ -25,7 +25,7 @@ export default component$(() => {
más.
</p>
<p>
Si se quere cambiar la librería que se está usando, esto se
Si se quiere cambiar la librería que se está usando, esto se
puede hacer con solo cambiar unas lineas en el código.
</p>
@@ -183,18 +183,18 @@ export default component$(() => {
<h2>Instalación</h2>
<ul>
<li>
Abre VSCode y muevete al directorio en donde queres insralar
el bot.
Abre VSCode y muevete al directorio en donde quieres
instalar el bot.
</li>
<li>Ejecuta este comando: npm create bot-whatsapp@latest</li>
<li>Contesta que SI queres crear un bot nuevo (Y)</li>
<li>Contesta que SI quieres crear un bot nuevo (Y)</li>
<li>
Selecciona con las flechas (arriba y abajo) la librería que
quieres usar para el bot, cuando estes sobre la opción que
vas usar para el bot, cuando estes sobre la opción que
quieres, oprime la barra de espacio y luego la tecla "Enter"
</li>
<li>
De igual forma selecciona la base de daros que quieres usar.
De igual forma selecciona la base de datos que quieres usar.
</li>
<li>
Cambiate al directorio que se creo dependiendo de la base de
@@ -210,7 +210,7 @@ export default component$(() => {
start"y espera a que te mande el mensaje de que necesitas
escanear el código QR, para esto ve al directorio en el que
se instaló y busca el archivo "qr.svg" y abrelo, te debe de
mostrsr un código QR que tienes que escanear en el Whatsapp
mostrar un código QR que tienes que escanear en el Whatsapp
que quieres ligar con el bot, para esto ve a tu Whatsapp,
haz clic en los tres botones de arriba a la derecha y entra
en "Linked devices", y luego en el botón que dice "LINK
@@ -218,11 +218,11 @@ export default component$(() => {
código.
</li>
<li>
Una vez ligado el Whatsapp vas a ver el mensaje de
Una vez ligado el Whatsapp, vas a ver el mensaje de
"Proveedor conectado y listo".
</li>
<li>
Desde OTRO celular mandas un mensaje al numero del Whatsapp
Desde OTRO celular manda un mensaje al número del Whatsapp
que acabas de ligar al bot con la palabra "Hola" y LISTO.
</li>
<li>Debes de recibir una respuesta automática del bot.</li>

View File

@@ -63,7 +63,6 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)

View File

@@ -7,7 +7,7 @@ const {
} = require('@bot-whatsapp/bot')
const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const MongoAdapter = require('@bot-whatsapp/database/mock')
const MongoAdapter = require('@bot-whatsapp/database/mongo')
/**
* Declaramos las conexiones de Mongo
@@ -68,7 +68,6 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)

View File

@@ -10,7 +10,7 @@ const BaileysProvider = require('@bot-whatsapp/provider/baileys')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
/**
* Declaramos las conexiones de Mongo
* Declaramos las conexiones de MySQL
*/
const MYSQL_DB_HOST = 'localhost'
const MYSQL_DB_USER = 'user'
@@ -71,7 +71,6 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)

View File

@@ -63,7 +63,6 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)

View File

@@ -7,7 +7,13 @@ const {
} = require('@bot-whatsapp/bot')
const TwilioProvider = require('@bot-whatsapp/provider/twilio')
const MockAdapter = require('@bot-whatsapp/database/mock')
const MongoAdapter = require('@bot-whatsapp/database/mongo')
/**
* Declaramos las conexiones de Mongo
*/
const MONGO_DB_URI = 'mongodb://0.0.0.0:27017'
const MONGO_DB_NAME = 'db_bot'
/**
* Declarando flujo hijo
@@ -63,13 +69,15 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterDB = new MongoAdapter({
dbUri: MONGO_DB_URI,
dbName: MONGO_DB_NAME,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(TwilioProvider, {
accountSid: 'YOUR_ACCOUNT_SID',

View File

@@ -15,7 +15,9 @@
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest"
"@bot-whatsapp/provider": "latest",
"mime-types": "^2.1.35",
"mongodb": "^4.12.1"
},
"author": "",
"license": "ISC"

View File

@@ -7,7 +7,15 @@ const {
} = require('@bot-whatsapp/bot')
const TwilioProvider = require('@bot-whatsapp/provider/twilio')
const MockAdapter = require('@bot-whatsapp/database/mock')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
/**
* Declaramos las conexiones de MySQL
*/
const MYSQL_DB_HOST = 'localhost'
const MYSQL_DB_USER = 'user'
const MYSQL_DB_PASSWORD = 'pass'
const MYSQL_DB_NAME = 'bot'
/**
* Declarando flujo hijo
@@ -63,13 +71,17 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterDB = new MySQLAdapter({
host: MYSQL_DB_HOST,
user: MYSQL_DB_USER,
database: MYSQL_DB_NAME,
password: MYSQL_DB_PASSWORD,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(TwilioProvider, {
accountSid: 'YOUR_ACCOUNT_SID',

View File

@@ -15,7 +15,8 @@
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest"
"@bot-whatsapp/provider": "latest",
"mysql2": "^2.3.3"
},
"author": "",
"license": "ISC"

View File

@@ -3,21 +3,74 @@ const {
createProvider,
createFlow,
addKeyword,
addChild,
} = require('@bot-whatsapp/bot')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const MockAdapter = require('@bot-whatsapp/database/mock')
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
.addAnswer('Bienvenido a mi tienda')
/**
* Declarando flujo hijo
*/
const flowBolsos2 = addKeyword(['bolsos2', '2'])
.addAnswer('🤯 *MUCHOS* bolsos ...')
.addAnswer('y mas bolsos... bla bla')
const flowZapatos2 = addKeyword(['zapatos2', '2'])
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
.addAnswer('y algunas otras cosas.')
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
.addAnswer('🤯 Veo que elegiste zapatos')
.addAnswer('Tengo muchos zapatos...bla bla')
.addAnswer(
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowZapatos2)]
)
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
.addAnswer('🙌 Veo que elegiste bolsos')
.addAnswer('Tengo muchos bolsos...bla bla')
.addAnswer(
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowBolsos2)]
)
/**
* Declarando flujo principal
*/
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
.addAnswer('Hola, bienvenido a mi tienda')
.addAnswer('Como puedo ayudarte?')
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
.addAnswer(
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(VenomProvider)
createBot({
flow: adapterFlow,
provider: adapterProvider,

View File

@@ -3,21 +3,83 @@ const {
createProvider,
createFlow,
addKeyword,
addChild,
} = require('@bot-whatsapp/bot')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const MockAdapter = require('@bot-whatsapp/database/mock')
const MongoAdapter = require('@bot-whatsapp/database/mongo')
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
.addAnswer('Bienvenido a mi tienda')
/**
* Declaramos las conexiones de Mongo
*/
const MONGO_DB_URI = 'mongodb://0.0.0.0:27017'
const MONGO_DB_NAME = 'db_bot'
/**
* Declarando flujo hijo
*/
const flowBolsos2 = addKeyword(['bolsos2', '2'])
.addAnswer('🤯 *MUCHOS* bolsos ...')
.addAnswer('y mas bolsos... bla bla')
const flowZapatos2 = addKeyword(['zapatos2', '2'])
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
.addAnswer('y algunas otras cosas.')
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
.addAnswer('🤯 Veo que elegiste zapatos')
.addAnswer('Tengo muchos zapatos...bla bla')
.addAnswer(
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowZapatos2)]
)
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
.addAnswer('🙌 Veo que elegiste bolsos')
.addAnswer('Tengo muchos bolsos...bla bla')
.addAnswer(
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowBolsos2)]
)
/**
* Declarando flujo principal
*/
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
.addAnswer('Hola, bienvenido a mi tienda')
.addAnswer('Como puedo ayudarte?')
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
.addAnswer(
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterDB = new MongoAdapter({
dbUri: MONGO_DB_URI,
dbName: MONGO_DB_NAME,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(VenomProvider)
createBot({
flow: adapterFlow,
provider: adapterProvider,

View File

@@ -13,7 +13,9 @@
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest"
"@bot-whatsapp/provider": "latest",
"mime-types": "^2.1.35",
"mongodb": "^4.12.1"
},
"author": "",
"license": "ISC"

View File

@@ -3,21 +3,87 @@ const {
createProvider,
createFlow,
addKeyword,
addChild,
} = require('@bot-whatsapp/bot')
const VenomProvider = require('@bot-whatsapp/provider/venom')
const MockAdapter = require('@bot-whatsapp/database/mock')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
const flowPrincipal = addKeyword(['hola', 'ole', 'HOLA'])
.addAnswer('Bienvenido a mi tienda')
/**
* Declaramos las conexiones de MySQL
*/
const MYSQL_DB_HOST = 'localhost'
const MYSQL_DB_USER = 'user'
const MYSQL_DB_PASSWORD = 'pass'
const MYSQL_DB_NAME = 'bot'
/**
* Declarando flujo hijo
*/
const flowBolsos2 = addKeyword(['bolsos2', '2'])
.addAnswer('🤯 *MUCHOS* bolsos ...')
.addAnswer('y mas bolsos... bla bla')
const flowZapatos2 = addKeyword(['zapatos2', '2'])
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
.addAnswer('y algunas otras cosas.')
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
.addAnswer('🤯 Veo que elegiste zapatos')
.addAnswer('Tengo muchos zapatos...bla bla')
.addAnswer(
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowZapatos2)]
)
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
.addAnswer('🙌 Veo que elegiste bolsos')
.addAnswer('Tengo muchos bolsos...bla bla')
.addAnswer(
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowBolsos2)]
)
/**
* Declarando flujo principal
*/
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
.addAnswer('Hola, bienvenido a mi tienda')
.addAnswer('Como puedo ayudarte?')
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
.addAnswer(
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
{ capture: true },
(ctx) => {
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterDB = new MySQLAdapter({
host: MYSQL_DB_HOST,
user: MYSQL_DB_USER,
database: MYSQL_DB_NAME,
password: MYSQL_DB_PASSWORD,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(VenomProvider)
createBot({
flow: adapterFlow,
provider: adapterProvider,

View File

@@ -13,7 +13,8 @@
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest"
"@bot-whatsapp/provider": "latest",
"mysql2": "^2.3.3"
},
"author": "",
"license": "ISC"

View File

@@ -63,7 +63,6 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)

View File

@@ -7,7 +7,13 @@ const {
} = require('@bot-whatsapp/bot')
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
const MockAdapter = require('@bot-whatsapp/database/mock')
const MongoAdapter = require('@bot-whatsapp/database/mongo')
/**
* Declaramos las conexiones de Mongo
*/
const MONGO_DB_URI = 'mongodb://0.0.0.0:27017'
const MONGO_DB_NAME = 'db_bot'
/**
* Declarando flujo hijo
@@ -63,13 +69,15 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterDB = new MongoAdapter({
dbUri: MONGO_DB_URI,
dbName: MONGO_DB_NAME,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(WebWhatsappProvider)
createBot({

View File

@@ -13,7 +13,9 @@
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest"
"@bot-whatsapp/provider": "latest",
"mime-types": "^2.1.35",
"mongodb": "^4.12.1"
},
"author": "",
"license": "ISC"

View File

@@ -7,7 +7,15 @@ const {
} = require('@bot-whatsapp/bot')
const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp')
const MockAdapter = require('@bot-whatsapp/database/mock')
const MySQLAdapter = require('@bot-whatsapp/database/mysql')
/**
* Declaramos las conexiones de MySQL
*/
const MYSQL_DB_HOST = 'localhost'
const MYSQL_DB_USER = 'user'
const MYSQL_DB_PASSWORD = 'pass'
const MYSQL_DB_NAME = 'bot'
/**
* Declarando flujo hijo
@@ -63,13 +71,17 @@ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
console.log('Aqui puedes ver más info del usuario...')
console.log('Puedes enviar un mail, hook, etc..')
console.log(ctx)
console.log(ctx['_data']['notifyName'])
},
[...addChild(flowBolsos), ...addChild(flowZapatos)]
)
const main = async () => {
const adapterDB = new MockAdapter()
const adapterDB = new MySQLAdapter({
host: MYSQL_DB_HOST,
user: MYSQL_DB_USER,
database: MYSQL_DB_NAME,
password: MYSQL_DB_PASSWORD,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(WebWhatsappProvider)
createBot({

View File

@@ -13,7 +13,8 @@
"@bot-whatsapp/bot": "latest",
"@bot-whatsapp/cli": "latest",
"@bot-whatsapp/database": "latest",
"@bot-whatsapp/provider": "latest"
"@bot-whatsapp/provider": "latest",
"mysql2": "^2.3.3"
},
"author": "",
"license": "ISC"