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
- 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”. - 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 demain.pypara Python ouindex.jspara Node.js. - 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, digiteDISCORD_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. - 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 poros.getenv('DISCORD_TOKEN')em Python ouprocess.env['DISCORD_TOKEN']em Node.js. Isso mantém o token seguro e fora dos seus arquivos de código. - Adicione um servidor web keep-alive
O Replit exige um servidor web para responder a verificações de integridade. Crie um novo arquivo chamadokeep_alive.py(Python) oukeep_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. - 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, adicionefrom keep_alive import keep_alivee depoiskeep_alive()antes declient.run(). Em Node.js, importe o arquivo keep-alive no topo doindex.js. - 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. - 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 comhttps://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.