diff --git a/packages/docs/src/root.tsx b/packages/docs/src/root.tsx index 87f374485..148235f2d 100644 --- a/packages/docs/src/root.tsx +++ b/packages/docs/src/root.tsx @@ -47,6 +47,7 @@ export default component$(() => { { name: 'fallBack', link: '/docs/fall-back' }, { name: 'endFlow', link: '/docs/end-flow' }, { name: 'gotoFlow', link: '/docs/goto-flow' }, + { name: 'idle', link: '/docs/idle' }, { name: 'blacklist', link: '/docs/blacklist' }, ], }, diff --git a/packages/docs/src/routes/docs/idle/index.mdx b/packages/docs/src/routes/docs/idle/index.mdx new file mode 100644 index 000000000..7a539c2c8 --- /dev/null +++ b/packages/docs/src/routes/docs/idle/index.mdx @@ -0,0 +1,45 @@ +import Navigation from '../../../components/widgets/Navigation' + +# idle + +Esta funcionalidad te permite dada una cantidad de tiempo de inactividad en el chat, ejecutar una acción. + +## Ejemplo + +En el siguiente ejemplo, si el usuario no responde en 2 segundos, se ejecutará la acción de cancelar el flujo. + +```js +const { addKeyword } = require('@bot-whatsapp/bot') + +const flujoFinal = addKeyword(EVENTS.ACTION).addAnswer('Se canceló por inactividad') + +const flujoPrincipal = addKeyword(['hola']) + .addAnswer( + 'Debes de responder antes de que transcurran 2 segundos', + { capture: true, idle: 2000 }, // idle: 2000 = 2 segundos + async (ctx, { gotoFlow, inRef }) => { + if (ctx?.idleFallBack) { + return gotoFlow(flujoFinal) + } + } + ) + .addAnswer('gracias!') + +``` + +## API + +### Propiedades + +- **idle** - Tiempo de inactividad en milisegundos +- **idleFallBack** - Si se ejecutó la acción por inactividad + + +--- + + diff --git a/packages/docs/src/services/github.ts b/packages/docs/src/services/github.ts index 1a06380fb..f4f2893df 100644 --- a/packages/docs/src/services/github.ts +++ b/packages/docs/src/services/github.ts @@ -11,18 +11,13 @@ export const fetchGithub = async (token: string) => { Authorization: `Bearer ${token}`, }, }) - const listUsers = await data.json() + try { + const listUsers = await data.json() return listUsers.map((u: any) => ({ ...u, avatar_url: `${u.avatar_url}&s=80`, })) - // try { - // const listUsers = await data.json() - // return listUsers.map((u: any) => ({ - // ...u, - // avatar_url: `${u.avatar_url}&s=80`, - // })) - // } catch (error) { - // return [] - // } + } catch (error) { + return [] + } } \ No newline at end of file