01 · Orientação rápida
As ferramentas de estado têm um objeto que armazena o valor e operações que o leem ou alteram:
Nó de estado
- Fica na área de edição.
- Armazena o valor (LIGADO/DESLIGADO, contagem, horários ou usuários).
- Gate, Counter e Rate Limiter podem funcionar no caminho normal de eventos.
- A Memória de usuários é um núcleo compartilhado referenciado por outros nós.
Ação de estado
- É colocada depois no fluxo.
- Lê ou altera o valor armazenado (ligar, somar +1, memorizar, sortear, redefinir etc.).
- Pode ficar em qualquer lugar do fluxo — basta escolher o nome do nó correspondente.
02 · Interruptor liga/desliga (Gate)
O interruptor é uma barreira booleana. Quando está LIGADO, as mensagens passam; quando está DESLIGADO, o fluxo para neste nó.
Ideal para
- Tempos de espera para comandos de chat.
- Alternâncias manuais (ativar/desativar sobreposições).
- Janelas de manutenção (pausar recursos durante cenas de pausa).
Ações principais
Set Gate State— alterne entre LIGADO e DESLIGADO.Reset State Node— volte ao padrão (geralmente LIGADO).
Exemplo: tempo de espera de 15s
Etapas de criação
- Adicione o nó de interruptor, nomeie-o “helloCooldown” e deixe-o LIGADO por padrão.
- Conecte seu gatilho → interruptor → ações.
- Depois da sua ação, adicione Definir estado da porta (Set Gate State) (DESLIGADA) referenciando “helloCooldown”.
- Adicione uma ação Atraso (Delay) de atraso (15 segundos).
- Adicione outra ação Definir estado da porta (Set Gate State) (LIGADA) para “helloCooldown”.
03 · Contador
Contadores acompanham números entre mensagens. Eles aumentam automaticamente quando uma mensagem passa por eles, e você pode ajustar os valores manualmente com ações.
Casos de uso
- Cada enésimo participante do chat dispara um prêmio.
- Acompanhar o progresso de uma meta da comunidade.
- Armazenar pontos resgatados por comandos.
Ações
Increment Counter— adicione ou subtraia valores personalizados.Set Counter Value— defina um número específico.Reset State Node— volte ao valor inicial padrão.
Exemplo: comemorar a cada 5 mensagens
Dentro do nó Condição, compare state.hype5.value ou simplesmente use a opção integrada “Disparar quando o valor corresponder ao alvo” nas propriedades do nó Contador.
04 · Limitador de frequência (Throttle)
O limitador armazena horários e recusa novos eventos até que a frequência definida seja respeitada.
Ideal quando você precisa de
- “Somente cinco entradas de sorteio por minuto.”
- “Uma chamada de API a cada 10 segundos.”
- “Descartar alertas se a sobreposição já estiver ocupada.”
Configuração
- Defina o máximo de eventos permitidos.
- Escolha a janela de tempo (segundos).
- Decida se o excesso deve ser enfileirado ou descartado.
Reset State Node se precisar começar do zero durante os testes.
05 · Memória de usuários
A Memória de usuários contém uma lista nomeada de pessoas únicas. Memorize usuários quando participarem, consulte a lista em mensagens posteriores, remova uma pessoa, sorteie um vencedor ou limpe apenas essa lista.
Ideal para
- Elegibilidade por presentes ou distintivos.
- Lembrar espectadores que curtiram, se inscreveram ou participaram.
- Sorteios com uma entrada por pessoa.
- Listas separadas para campanhas separadas.
Operações
Remember UsereForget User.User Is Remembered.Pick Random User.Clear All UsersouReset State Node.
As linhas sólidas verde-azuladas carregam eventos. As ligações tracejadas roxas mostram qual memória compartilhada uma operação usa. Cada Memória de usuários tem sua própria contagem, modo de persistência e política de redefinição; limpar uma lista não afeta outra.
06 · Soluções prontas
Escolha um cenário e siga as etapas.
Tempo de espera de comando
- Nó de interruptor chamado “commandCooldown”.
- Gatilho → interruptor → resposta.
- Desligar porta → Atraso → Ligar porta.
- Adicione uma mensagem de chat “Tempo de espera ativo” à saída falsa, se desejar.
Brindes limitados
- Contador com padrão 0 e alvo 3.
- Incremente após cada resgate.
- Quando value ≥ 3, desvie para “Desculpe, acabou”.
- Use a ação Redefinir no fim da transmissão.
Interruptor para espectadores
- Interruptor chamado “overlayToggle”.
!overlay oncomando → Ligar porta.!overlay offcomando → Desligar porta.- Todos os gatilhos de sobreposição passam pelo interruptor.
Diagramas de fluxo de exemplo
07 · Solução de problemas e perguntas frequentes
| Sintoma | Causa provável | Correção |
|---|---|---|
| A ação Definir estado da porta não salva. | Não existe um nó de interruptor correspondente (ou os nomes são diferentes). | Adicione primeiro o nó de interruptor e confirme que o menu o referencia. |
| O contador nunca aumenta. | O fluxo ignora o nó contador ou a porta é falsa. | Verifique se a ligação do gatilho passa pelo contador e se a saída da porta é verdadeira. |
| O limitador bloqueia tudo para sempre. | Janela muito restritiva ou estado restante de testes. | Aumente o limite e adicione uma ação Redefinir nó de estado antes de testar novamente. |
| Uma operação de Memória de usuários não tem ligação tracejada. | Nenhuma memória de destino está selecionada. | Escolha a memória nomeada nas propriedades da operação ou arraste seu conector lateral roxo até a memória. |
| Os botões do guia não abrem. | Execução dentro da extensão sem os recursos web_accessible atualizados. | Verifique se actions/state-nodes-guide.html está incluído pelo manifesto e recarregue a extensão. |
Lista de verificação de testes
- Use a ferramenta “Enviar evento de teste” do Event Flow para simular comandos.
- Reduza temporariamente os tempos de espera (2 segundos) ou os alvos dos contadores durante a verificação.
- Redefina os nós de estado entre testes para não ler dados antigos.
- Rotule as ramificações (ex.: “false → tempo de espera ativo”) para acompanhar o caminho visualmente.
08 · Próximas etapas
Combine os nós de estado com o restante das ferramentas do Event Flow:
- Use portas lógicas (AND/OR/NOT) antes de um interruptor para decidir quem pode alterná-lo.
- Armazene metadados baseados em estado em
metapara que as sobreposições saibam por que uma ramificação foi acionada. - Exporte padrões funcionais como modelos para que sua equipe possa importá-los novamente depois.