ts6-botflow/FLOW_CHECKLIST.md
Bxio 1be8a45dde
All checks were successful
Testar e publicar imagem Docker / publish (push) Successful in 44s
Expand flow editor with TeamSpeak events, permissions and execution controls
2026-10-10 20:38:31 +01:00

38 lines
3.1 KiB
Markdown

# Editor de flows — análise e checklist
Referência analisada: [clusterzx/ts6-manager](https://github.com/clusterzx/ts6-manager), especialmente `BotEditor.tsx`, `bot-engine/engine.ts`, `flow-runner.ts`, `context.ts`, `event-bridge.ts` e `ssh-query-client.ts`. A implementação abaixo é própria; o código do Manager não é incorporado.
O Manager guarda grafos, normaliza os tipos do editor, regista cron/webhooks/eventos, recebe notificações por SSH e executa ramos sequencialmente. Variáveis persistentes são distintas das temporárias. O cliente de voz usa um protocolo e pipeline de áudio próprios, para além do WebQuery. Uma ligação HTTP não permite transmitir áudio.
## Trabalho desta atualização
- [x] Catálogo de blocos centralizado, com configuração, portas e valores iniciais.
- [x] Clientes: consultar, poke, mover, kick, ban e remover ban.
- [x] Canais: consultar/criar/editar/mover/apagar, com campos adicionais.
- [x] Grupos: adicionar/remover cliente, definir grupo de canal.
- [x] Permissões: cliente, canal, grupo de servidor, grupo de canal e cliente num canal; adicionar/remover/consultar.
- [x] Dados: canais, grupos, permissões, clientes offline e WebQuery com parâmetros separados.
- [x] Lógica: condições completas, filtros, foreach, variáveis temporárias/persistentes, cálculos, código aleatório e paragem.
- [x] Portas de erro, tentativas limitadas, cancelamento e limite de duração.
- [x] Temporizador, cron de cinco/seis campos e vários triggers por flow.
- [x] Eventos TeamSpeak e comandos de chat via SSH, reconexão e estado visível da ligação.
- [x] Webhook de entrada autenticado; HTTP de saída e webhook Discord.
- [x] Formulários com seleção de clientes/canais/grupos/permissões a partir do servidor.
- [x] Biblioteca de templates, duplicação e importação/exportação de bots.
- [x] Editor: desfazer/refazer, duplicar bloco, organizar, ajustar zoom, atalhos e validação antes de guardar.
- [x] Estado correto do bot/servidor, filtros de execuções e histórico por passo.
- [x] Migração compatível: preservar flows, ligações, chaves e sessões existentes.
- [x] Testes de execução e eventos simulados, mais verificação em navegador.
Validação: 21 testes automáticos, formulários dos 68 blocos e operações do editor verificados em Edge (desktop/móvel e perfil Leitor). Docker usa testes sequenciais para limitar o consumo no LXC com 512 MB de RAM.
## Trabalho separado que permanece por completar
- [ ] Motor de voz independente: identidade TeamSpeak, ligação UDP, codecs, fila, rádio/ficheiros, TTS e reconexão. Sem blocos que finjam tocar áudio através do WebQuery.
- [ ] Editor de múltiplos flows por bot, subflows e versionamento com publicação de rascunhos.
- [ ] Gestão de utilizadores/perfis por painel e acessos por servidor.
- [ ] Ranking histórico de tempo acumulado, com retenção e tratamento de reconexões.
As ações administrativas são verificadas em simulação e com transporte de teste. Não executar kicks, bans, alterações de permissões ou eliminação de canais no servidor real durante os testes.