ACLClouds
ACLClouds

Alojar um bot do Discord 24/7 sem falhas

·

Gestor de processos, variáveis de ambiente, logs e monitorização: a arquitetura mínima para um bot que nunca para.

Um bot que desliga quando fecha o seu PC não é um bot, é uma demo. Veja como alojá-lo corretamente para uma disponibilidade real, 24 horas por dia.

  • Guarde o token numa variável de ambiente, nunca no código.
  • Confie o reinício a um gestor de processos com atraso crescente.
  • Monitorize a latência do gateway e a taxa de erro dos comandos.
  • Armazene os dados num volume persistente e faça uma cópia de segurança do banco todos os dias.

Um runtime fixo e segredos fora do código

O incidente clássico: o token do bot commitado no GitHub, revogado pelo Discord no meio da noite. Guarde-o numa variável de ambiente, fixe a versão do Node.js ou do Python e versione um ficheiro de exemplo (.env.example) sem os valores.

  • Nunca faça commit do token: use apenas variáveis de ambiente.
  • Fixe a versão do runtime (ex.: Node 22 LTS) para implementações reproduzíveis.
  • Documente cada variável necessária num README.
  • Para escolher o fornecedor, comparar as ofertas de alojamento grátis de bots Discord.

Um gestor de processos que reinicia de forma inteligente

PM2, systemd ou Docker com uma política de reinício: a ferramenta importa menos que a política. Reinicie automaticamente em caso de falha, mas com atraso crescente (backoff) para não entrar em loop por um erro de configuração, e mantenha logs persistidos para entender o problema.

  • Configure um reinício automático com backoff exponencial.
  • Guarde os logs fora do contentor para diagnosticar falhas.
  • Adicione uma verificação de estado: o bot ainda responde aos comandos?

Monitorize o que realmente importa

Estar online não basta: um bot conectado que não responde mais às interações é um bot com problema. Monitorize a latência do gateway do Discord, a taxa de erros dos comandos e a memória. Um alerta simples (webhook, e-mail) vale mais do que um dashboard que ninguém olha.

  • Monitorize a latência do gateway do Discord e a taxa de erro dos comandos.
  • Receba alertas de desconexões repetidas e vazamentos de memória.
  • Guarde 7 dias de logs para a análise pós-incidente.

Separe dados e código

Assim que o bot guardar alguma coisa (níveis, economia, moderação), esses dados devem sobreviver a uma nova implementação. Uma base SQLite em volume persistente basta para começar; o PostgreSQL assume quando o bot cresce, com cópias de segurança regulares nos dois casos. Para um bot sempre online sem manter o seu PC ligado, descubra a hospedagem de bots Discord.

  • Guarde os dados num volume persistente, nunca na imagem.
  • Faça cópia de segurança diária do banco num armazenamento externo.
  • Teste a restauração antes de precisar dela.
  • Aplicar a regra 3-2-1 às cópias de segurança da base.

Perguntas frequentes

Preciso deixar o meu computador ligado?

Não. O bot funciona na infraestrutura da ACLClouds e fica online independentemente do seu computador ou da sua conexão.

Quais linguagens são suportadas?

Estão disponíveis Node.js, Bun, Python, C#, Go, Java, Rust e Lua, com MariaDB para projetos que necessitam de uma base de dados.

Onde guardar o token do meu bot?

Nas variáveis de arranque do painel. Altera a configuração sem publicar o token no seu código-fonte.

O meu bot reinicia sozinho após uma falha?

Sim. O processo reinicia automaticamente em caso de parada inesperada, e os logs continuam acessíveis em tempo real no painel.