Files
2023-02-08 14:38:04 -05:00

94 lines
2.7 KiB
JavaScript

const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
const MetaProvider = require('@bot-whatsapp/provider/meta')
const MockAdapter = require('@bot-whatsapp/database/mock')
/**
* Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
*
* Menu Principal
* - SubMenu 1
* - Submenu 1.1
* - Submenu 2
* - Submenu 2.1
*
* Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
*/
const 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 MockAdapter()
const adapterFlow = createFlow([flowPrincipal])
const adapterProvider = createProvider(MetaProvider, {
jwtToken: 'jwtToken',
numberId: 'numberId',
verifyToken: 'verifyToken',
})
createBot({
flow: adapterFlow,
provider: adapterProvider,
database: adapterDB,
})
}
main()