From c410e9763c180179f610b18b9938dfd45f2b22c8 Mon Sep 17 00:00:00 2001 From: cheveguerra Date: Thu, 22 Dec 2022 22:07:02 -0600 Subject: [PATCH] docs: se agrego ejemplo de flujos hijos a migration.md se agrego ejemplo de flujos hijos a migration.md --- MIGRATION.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/MIGRATION.md b/MIGRATION.md index 8e4d1b4..114a477 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -2,9 +2,9 @@ #### Versión (legacy) -En la ***versión (legacy)*** se implementas los flujos de esta manera, en dos archivos independientes. +En la ***versión (legacy)*** se implementaban los flujos de esta manera, en dos archivos independientes. -> __`initial.json`__ para establecer las palabras claves y el flujo a responder, por otro lado tambien se necesitaba implementar. +> __`initial.json`__ para establecer las palabras claves y el flujo a responder, por otro lado tambien se necesitaba implementar > __`response.json`__ donde se escriben los mensajes a responder. ```json @@ -77,7 +77,7 @@ En la ***versión (legacy)*** se implementas los flujos de esta manera, en dos #### Versión 2 (0.2.X) -En esta versión es mucho más sencillo abajo encontraras un ejemplo del mismo flujo anteriormente mostrado. +En esta versión es mucho más sencillo, abajo encontraras un ejemplo del mismo flujo anteriormente mostrado. ```js //app.js @@ -126,6 +126,75 @@ const flowCatalogo = addKeyword(['imagen', 'foto']) } ``` +#### Flujos hijos + +A continuación se muestra un ejemplo de flujos hijos, estos nos sirven para crear flujos que solo se disparan cuando el flujo anterior es el espacificado, ejemplo: + + > Menu Principal (Escoge zapatos o bolsos) + > - SubMenu 1 (bolsos, ahora escoge piel o tela) + > - Submenu 1.1 (piel) + > - Submenu 2 (zapatos, ahora escoge piel o tela) + > - Submenu 2.1 (piel) + +El __submenu 1__ solo se va a disparar cuando el flujo anterior sea el __principal__, e igualmente el submenu 1.1__, solo se dispara cuando el flujo anterior sea el __submenu 1__, ejemplo: + +```js +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(['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) + }, + [...addChild(flowZapatos2)] + ) + +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) + }, + [...addChild(flowBolsos2)] + ) + +/** + * Declarando flujo principal + */ + +const flowPrincipal = addKeyword(['hola', 'ole', 'alo']) + .addAnswer(['Hola, bienvenido a mi tienda', '¿Como puedo ayudarte?']) + .addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc ...']) + .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) + }, + [...addChild(flowBolsos), ...addChild(flowZapatos)] + ) +``` + + > Forma parte de este proyecto. - [Discord](https://link.codigoencasa.com/DISCORD)