Flows
Flows são a unidade fundamental do discord-flow
O que é um Flow?
Um Flow é uma máquina de estados que gerencia um conjunto de interações relacionadas. Cada flow possui um ID único e contém múltiplos estados.
Criando um Flow
Use o FlowRegistry para definir flows:
typescript
1import { FlowRegistry } from 'discord-flow';2 3const registry = new FlowRegistry();4 5registry.define('meu-flow', (flow) => {6 // Define o estado inicial7 flow.start('idle');8 9 // Define os estados10 flow.state('idle')11 .on.command({ name: 'start' }, () => ({12 response: { content: 'Flow iniciado!' },13 transition: 'processing'14 }));15 16 flow.state('processing')17 .on.button('confirm', () => ({18 response: { content: 'Confirmado!' },19 transition: 'idle'20 }));21});Flow ID
O ID do flow é usado internamente para rotear interações. Ele deve ser único dentro do registry.
Múltiplos Flows
Você pode definir quantos flows precisar. Cada um gerencia seu próprio conjunto de estados:
typescript
1registry.define('auth', (flow) => {2 flow.start('logged-out');3 // ... estados de autenticação4});5 6registry.define('tickets', (flow) => {7 flow.start('idle');8 // ... estados de tickets9});10 11registry.define('settings', (flow) => {12 flow.start('menu');13 // ... estados de configurações14});