All checks were successful
Testar e publicar imagem Docker / publish (push) Successful in 44s
38 lines
3.1 KiB
Markdown
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.
|