Como Hospedar um Bot do Discord Gratuitamente no Replit
🔍 WiseChecker

Como Hospedar um Bot do Discord Gratuitamente no Replit

Você criou um bot do Discord usando Python ou Node.js, mas precisa de um lugar para executá-lo 24 horas por dia, 7 dias por semana, sem pagar por um servidor. O Replit é uma plataforma de desenvolvimento baseada em nuvem que permite escrever e executar código diretamente no navegador. Ele oferece um plano gratuito que pode manter seu bot funcionando, desde que você tome alguns cuidados. Este artigo explica como configurar um bot do Discord no Replit, mantê-lo online e evitar problemas comuns que fazem os bots pararem de funcionar.

Principais Pontos: Hospedando um Bot do Discord no Replit

  • Guia de Secrets do Replit: Armazene o token do seu bot com segurança, sem expô-lo no código.
  • Monitoramento com Uptime Robot: Um serviço externo gratuito que envia pings para o seu Replit a cada 5 minutos para evitar que ele durma.
  • Implantação Always-On do Replit: Use o recurso “Always On” nas configurações da sua conta Replit para manter o repl rodando 24/7.

Como o Replit Executa Seu Bot do Discord

O Replit é um IDE online que executa seu código nos servidores dele. Quando você cria um repl para Python ou Node.js, o Replit fornece uma máquina virtual com uma URL pública. O código do seu bot do Discord é executado dentro dessa máquina. O plano gratuito tem uma limitação crítica: se você fechar a aba do navegador ou deixar o repl ocioso por cerca de 30 minutos, o Replit coloca a máquina para dormir. Um repl dormindo faz com que seu bot pare de responder aos comandos. Para manter o bot ativo, você precisa do recurso pago “Always On” ou de um serviço de monitoramento externo gratuito como o Uptime Robot, que envia requisições HTTP periódicas para a URL pública do seu repl.

Pré-requisitos Antes de Começar

Antes de começar, verifique se você tem o seguinte:

  • Uma conta do Discord e um servidor onde você tenha permissão para adicionar bots.
  • Um aplicativo de bot do Discord criado no Portal do Desenvolvedor do Discord. Você precisa do token do bot.
  • Uma conta no Replit (o plano gratuito é suficiente).
  • Familiaridade básica com a linguagem de programação do seu bot (Python ou Node.js).

Passos para Hospedar Seu Bot do Discord no Replit

  1. Crie um novo repl no Replit
    Faça login no Replit e clique no botão “Create”. Escolha a linguagem que corresponde ao código do seu bot, por exemplo Python ou Node.js. Dê ao seu repl um nome descritivo, como “meu-bot-discord”. Clique em “Create Repl”.
  2. Envie ou cole o código do seu bot
    Se o código do seu bot existir como arquivos, arraste e solte-os no painel de arquivos à esquerda. Alternativamente, cole o conteúdo do arquivo principal do seu bot diretamente no editor. O arquivo principal geralmente é chamado de main.py para Python ou index.js para Node.js.
  3. Adicione o token do bot como um segredo
    Na barra lateral do Replit, clique no ícone de cadeado para abrir a guia Secrets. Clique em “New Secret”. No campo key, digite DISCORD_TOKEN. No campo value, cole o token do seu bot exatamente como aparece no Portal do Desenvolvedor do Discord. Clique em “Add Secret”. Nunca cole o token diretamente no seu código.
  4. Modifique seu código para ler o token das variáveis de ambiente
    No código do seu bot, substitua qualquer string de token codificada por os.getenv('DISCORD_TOKEN') em Python ou process.env['DISCORD_TOKEN'] em Node.js. Isso mantém o token seguro e fora dos seus arquivos de código.
  5. Adicione um servidor web keep-alive
    O Replit exige um servidor web para responder a verificações de integridade. Crie um novo arquivo chamado keep_alive.py (Python) ou keep_alive.js (Node.js) com um servidor HTTP simples que escuta na porta 8080. Em Python, use a biblioteca Flask. Em Node.js, use o módulo http nativo. O servidor não faz nada além de retornar “OK” quando acessado.
  6. Inicie o servidor web no seu arquivo principal
    No início do arquivo principal do seu bot, importe e inicie o servidor keep-alive. Em Python, adicione from keep_alive import keep_alive e depois keep_alive() antes de client.run(). Em Node.js, importe o arquivo keep-alive no topo do index.js.
  7. Execute o repl
    Clique no botão verde “Run” no topo do editor do Replit. O console mostrará seu servidor keep-alive iniciando e seu bot fazendo login. Você deve ver seu bot aparecer online no seu servidor do Discord.
  8. Configure o Uptime Robot para manter o bot ativo
    Acesse uptimerobot.com e crie uma conta gratuita. Clique em “Add New Monitor”. Selecione “HTTP(s)” como tipo de monitor. No campo URL, cole a URL pública do seu repl do Replit. Você pode encontrar essa URL no painel do navegador do Replit após executar o repl. Ela se parece com https://meu-bot-discord.seuusuario.repl.co. Defina o intervalo de monitoramento para 5 minutos. Clique em “Create Monitor”. O Uptime Robot agora enviará pings para seu repl a cada 5 minutos, impedindo que o Replit o coloque para dormir.

Se o Seu Bot Ainda Ficar Offline

Bot desconecta após algumas horas

O plano gratuito do Replit tem um limite de uso. Se o seu bot consumir muitos recursos, o Replit pode parar o repl. Verifique o console do Replit em busca de avisos de memória ou CPU. Reduza o uso de recursos do seu bot limitando o número de comandos ou usando uma biblioteca mais leve como discord.py sem suporte a voz.

Monitor do Uptime Robot mostra “Down”

Se o Uptime Robot reportar que seu repl está offline, o servidor keep-alive pode ter travado. Abra seu repl e verifique o console em busca de erros. Erros comuns incluem a falta da biblioteca Flask em Python ou conflito de porta. Certifique-se de que seu servidor keep-alive escuta na porta 8080, não na porta 80.

Token do bot vazou ou é inválido

Se o seu bot não conseguir fazer login, verifique se o token no Replit Secrets está correto. Regere o token no Portal do Desenvolvedor do Discord se suspeitar que ele foi comprometido. Atualize o segredo no Replit imediatamente.

Replit altera a URL pública

Cada vez que você renomeia seu repl ou altera sua visibilidade, o Replit emite uma nova URL. Atualize a URL no Uptime Robot para corresponder ao novo endereço. Caso contrário, o Uptime Robot continuará pingando a URL antiga e seu bot dormirá.

Item Plano Gratuito Replit Plano Pago Replit
Custo $0 por mês $7 por mês (plano Hacker)
Always On Não, requer Uptime Robot Sim, integrado
Limites de CPU e RAM Limitados, pode haver redução Limites maiores, sem redução
Repls privados Apenas públicos Repls privados disponíveis
Melhor para Bots pequenos com baixa atividade Bots com atividade moderada a alta

Agora você pode hospedar seu bot do Discord no Replit sem pagar por um servidor. O plano gratuito funciona bem para bots pequenos e testes, mas você precisa do Uptime Robot para manter o bot ativo. Para bots de produção que precisam ficar online 24/7, considere atualizar para o plano Hacker do Replit para o recurso Always On integrado. Como dica avançada, configure um segundo monitor no Uptime Robot apontando para o endpoint de integridade do seu servidor keep-alive para receber alertas por e-mail se o bot cair.