ACLClouds
ACLClouds

Alojar um bot Discord grátis: tutorial Python e Node.js

Criar o bot, copiar o token, escolher discord.py ou discord.js, enviar o código e ler os logs: os passos para manter um bot Discord ativo 24/7 sem pagar.

Para alojar um bot Discord grátis e 24/7, crie o bot no Discord Developer Portal, copie o token e implemente o seu código discord.py ou discord.js num serviço que o mantém ligado por si. Na ACLClouds, a oferta Free mantém um bot ativo sem cartão bancário, com 315 MB de RAM e uma renovação gratuita a cada 4 dias. Eis cada passo, da criação do bot ao primeiro comando /hello.

  • O token só se copia uma vez, no separador Bot do Discord Developer Portal.
  • O código lê o token na variável DISCORD_TOKEN, nunca escrito diretamente num ficheiro.
  • A oferta Free da ACLClouds aloja 1 bot Node.js ou Python com 315 MB de RAM, sem cartão bancário.
  • A renovação é gratuita a cada 4 dias, a partir da página do bot.

Criar o bot no Discord

Abra o Discord Developer Portal, crie uma aplicação e abra o separador Bot. Clique em Reset Token e copie o token: o Discord só o mostra uma vez. No separador OAuth2, marque os scopes bot e applications.commands, gere a ligação de convite e adicione o bot ao seu servidor.

  • O token dá acesso total ao bot: nunca o publique, nem no código nem numa captura de ecrã.
  • Ative Message Content Intent apenas se o bot ler o texto das mensagens (comandos com prefixo).
  • Os comandos slash, como /hello, não precisam deste intent.

Escolher Python ou Node.js

Ao encomendar a oferta Free, escolha o ambiente Node.js para discord.js ou Python para discord.py. O bot arranca com um projeto de exemplo que responde a /hello: confirma que tudo funciona antes de enviar o seu próprio código. A versão muda-se depois no painel: Node.js 20, 22 ou 24, Python 3.11, 3.12 ou 3.13.

  • Node.js: um package.json com discord.js nas dependências e um script start.
  • Python: um requirements.txt com discord.py e o ficheiro principal, por exemplo bot.py.
  • Guias detalhados: criar um bot Node.js e alojar um bot Python.

Adicionar o token fora do código

O seu código lê o token na variável de ambiente DISCORD_TOKEN: process.env.DISCORD_TOKEN em Node.js, os.environ["DISCORD_TOKEN"] em Python. Se a variável estiver vazia, a consola do bot mostra um cartão «Token do bot»: cole lá o token, que fica guardado, e o bot reinicia. Também o pode introduzir no separador Arranque.

  • Um valor que se pareça com o ID da aplicação ou com o segredo de cliente é assinalado antes de ser guardado.
  • Um token colado por engano no campo do nome de uma variável é recusado.
  • Mais detalhes no guia para guardar tokens e variáveis secretas.

Enviar o seu código

Substitua o projeto de exemplo pelo seu no separador Ficheiros ou por SFTP. Cada bot tem o seu próprio acesso SFTP, indicado no separador Definições: anfitrião, porta 2222, utilizador e palavra-passe, a introduzir no FileZilla ou no WinSCP com o protocolo SFTP.

  • Não envie node_modules nem .venv: as dependências são instaladas no servidor.
  • Um envio pode chegar a 100 MB na oferta Free.
  • Se o ficheiro de arranque não for encontrado, a consola procura-o nas subpastas e propõe corrigir o caminho com um clique.

Arrancar e ler os logs

Inicie o bot a partir da consola. Com o projeto de exemplo, a linha «Logged in as» seguida do nome do bot confirma a ligação ao Discord. Escreva depois /hello no seu servidor: um comando global pode demorar alguns minutos a aparecer da primeira vez. Em caso de erro, leia a primeira linha de erro da consola, não a última.

  • Cannot find module ou ModuleNotFoundError: falta uma dependência no package.json ou no requirements.txt.
  • Um bot parado de forma inesperada reinicia automaticamente e os logs continuam disponíveis.
  • Bot ligado mas sem responder: leia porque é que um bot Discord fica offline.

Porquê escolher a ACLClouds para este bot

A oferta Free não suspende o bot por inatividade e não pede cartão bancário. Os seus limites são públicos: 1 bot, 315 MB de RAM, 0,25 vCPU e 715 MB de armazenamento. A renovação é gratuita, a partir da página do bot, nos 2 dias anteriores ao fim do prazo.

  • Um acesso SFTP próprio para cada bot (porta 2222), incluindo na oferta gratuita.
  • ffmpeg, yt-dlp e deno já instalados nos ambientes Node.js e Python.
  • Um painel em 7 idiomas, incluindo francês, inglês e alemão.
  • Uma oferta paga mais tarde, sem mudar de painel, quando o bot precisar de mais recursos ou de uma base de dados.

Perguntas frequentes

O meu bot continua online quando o meu PC está desligado?

Sim. O bot é executado na infraestrutura da ACLClouds, não no seu computador. Basta renovar a oferta Free gratuitamente a cada 4 dias a partir da página do bot.

O que acontece se me esquecer de renovar?

O bot é suspenso no fim do prazo. Pode renová-lo gratuitamente a partir da sua página depois de suspenso e voltar a iniciá-lo.

Posso alojar um bot de música na oferta Free?

ffmpeg e yt-dlp já estão instalados, mas a reprodução de áudio consome memória e CPU. Com 315 MB de RAM e 0,25 vCPU, teste num servidor pequeno e passe para uma oferta paga se o som falhar.

Quantos bots posso alojar gratuitamente?

Um bot por conta na oferta Free. Um segundo bot exige uma oferta paga, a partir da oferta Starter.