Files
bot-whatsapp/starters/apps/base-wweb-mongo/app.js
cheveguerra eceb170df0 feat: mod de starters para habiltar portal
Modificacion de starters para habiltar el portal para el QR
2023-01-11 10:36:18 -06:00

114 lines
2.9 KiB
JavaScript

const {
createBot,
createProvider,
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')
/**
* Declaramos las conexiones de Mongo
*/
const MONGO_DB_URI = 'mongodb://0.0.0.0:27017'
const MONGO_DB_NAME = 'db_bot'
/**
* Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
*
* Menu Principal
* - SubMenu 1
* - Submenu 1.1
* - Submenu 2
* - Submenu 2.1
*
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer([
'📄 Aquí tenemos el flujo secundario',
])
const flowDocs = addKeyword([
'doc',
'documentacion',
'documentación',
]).addAnswer(
[
'📄 Aquí encontras las documentación recuerda que puedes mejorarla',
'https://bot-whatsapp.netlify.app/',
'\n*2* Para siguiente paso.',
],
null,
null,
[flowSecundario]
)
const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
[
'🙌 Aquí encontras un ejemplo rapido',
'https://bot-whatsapp.netlify.app/docs/example/',
'\n*2* Para siguiente paso.',
],
null,
null,
[flowSecundario]
)
const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
[
'🚀 Puedes aportar tu granito de arena a este proyecto',
'[*opencollective*] https://opencollective.com/bot-whatsapp',
'[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
'[*patreon*] https://www.patreon.com/leifermendez',
'\n*2* Para siguiente paso.',
],
null,
null,
[flowSecundario]
)
const flowDiscord = addKeyword(['discord']).addAnswer(
[
'🤪 Únete al discord',
'https://link.codigoencasa.com/DISCORD',
'\n*2* Para siguiente paso.',
],
null,
null,
[flowSecundario]
)
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
.addAnswer('🙌 Hola bienvenido a este *Chatbot*')
.addAnswer(
[
'te comparto los siguientes links de interes sobre el proyecto',
'👉 *doc* para ver la documentación',
'👉 *gracias* para ver la lista de videos',
'👉 *discord* unirte al discord',
],
null,
null,
[flowDocs, flowGracias, flowTuto, flowDiscord]
)
const main = async () => {
const adapterDB = new MongoAdapter({
dbUri: MONGO_DB_URI,
dbName: MONGO_DB_NAME,
})
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(WebWhatsappProvider)
createBot({
flow: adapterFlow,
provider: adapterProvider,
database: adapterDB,
})
QRPortalWeb()
}
main()