ts6-botflow/README.md
Bxio 282ba08c81 Revert "Add Gitea image publishing workflow and Portainer runner stacks"
This reverts commit 0458606410994162b89b6f36c052cead8d441634.
2026-10-10 18:42:23 +01:00

1.9 KiB

TS6 Botflow

Primeira experiência local: login Discord, conta do dono, sessão persistente e painel XanaX. Logótipos copiados sem alterações do projeto existente. As pastas de origem permanecem intactas.

O editor de flows e o motor de bots ainda não estão implementados nesta versão. Nenhuma ligação ao TeamSpeak é feita.

Docker / Portainer

Usar compose.yaml a partir deste repositório. O serviço é construído pelo Dockerfile, porta 3080, volume persistente botflow-data.

Configurar as quatro variáveis nas Environment variables da stack (ou copiar .env.example para .env quando executado por Docker Compose):

  • APP_URL: endereço usado no navegador, por exemplo http://192.168.88.99:3080.
  • DISCORD_CLIENT_ID: ID da aplicação Discord.
  • DISCORD_CLIENT_SECRET: segredo OAuth da aplicação, nunca o token de um bot.
  • OWNER_DISCORD_ID: ID numérico da tua conta Discord, não o nome bxio.

No Discord Developer Portal, OAuth2 → Redirects, adicionar exatamente http://192.168.88.99:3080/auth/discord/callback (ajustar se APP_URL mudar). É possível aproveitar a aplicação Discord existente adicionando esse redirect; manter os redirects antigos.

Para copiar o ID: Discord → Definições → Avançadas → Modo de programador; clicar com o botão direito na tua conta → Copiar ID do utilizador.

O navegador e o container precisam de Internet para o OAuth Discord. O painel não precisa de estar publicado na Internet. A rede local precisa de conseguir aceder à porta 3080. Uma conta diferente do OWNER_DISCORD_ID é recusada. Esta versão não tem gestão de outros perfis.

Local: Node 22.15+, definir as mesmas variáveis e executar npm start. Testes: npm test.

Sessões HttpOnly/SameSite, estado OAuth de uso único, credenciais no ambiente e armazenamento SQLite no volume. Em HTTP local os cookies não têm Secure; usar HTTPS quando houver publicação. Não adicionar .env nem dados ao Git.