global.nombre = [] const { createBot, createProvider, createFlow, addKeyword, addChild, } = require('@bot-whatsapp/bot') const WebWhatsappProvider = require('@bot-whatsapp/provider/web-whatsapp') const MockAdapter = require('@bot-whatsapp/database/mock') /** * 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', '4']) .addAnswer('🤯 Veo que elegiste zapatos') .addAnswer('Tengo muchos zapatos...bla bla') .addAnswer( 'Manda:\n*2* \n o \n*zapatos2*\n 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:\n*2*\n o \n*bolsos2*\npara 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:\n*Zapatos*\n o \n*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) console.log(ctx['_data']['notifyName']) }, [...addChild(flowBolsos), ...addChild(flowZapatos)] ) const main = async () => { const adapterDB = new MockAdapter() const adapterFlow = createFlow([flowPrincipal]) const adapterProvider = createProvider(WebWhatsappProvider) createBot({ flow: adapterFlow, provider: adapterProvider, database: adapterDB, }) } main()