Bots do Discord
Bots do Discord em Python (discord.py) ou Node.js (discord.js): o que colocar no pedido, execução de teste no Codexe, limites de execução por plano e token seguro.
Atualizado
Nesta página
O Codexe gera projetos completos de bots do Discord em Python (discord.py) ou Node.js (discord.js), usando comandos de barra.
#O que colocar no pedido
- A biblioteca (Python ou Node.js).
- Cada comando de barra com as suas opções e quem pode usá-lo.
- Os eventos a que ele deve reagir (entrada de membros, mensagens, reações).
- O armazenamento (JSON, SQLite…) e qualquer API externa.
- Quais intents você está disposto a ativar. Message Content e Server Members são privilegiados e precisam ser ativados no portal de desenvolvedores do Discord.
#O token
Os bots gerados leem o token da variável de ambiente DISCORD_TOKEN (BOT_TOKEN ou TOKEN também funcionam). Ele nunca é escrito no código-fonte, e nenhum arquivo .env é gerado. Trate o token como uma senha: se ele vazar, gere outro no portal de desenvolvedores do Discord.
#Execução de teste de um bot no Codexe
Os projetos de bot têm um painel Hospedar para testar o bot sem montar um servidor. Cole o token do seu bot (guardado criptografado, e você pode apagá-lo), depois use Iniciar, Parar, Reiniciar e acompanhe o Console.
Este é um ambiente de teste, não uma hospedagem permanente:
| Plano | Tempo de execução a cada 24 horas móveis |
|---|---|
| Free | 15 minutos |
| Pro | 4 horas |
| Business | 12 horas |
| Enterprise | 24 horas |
Em todos os planos: uma sessão para depois de 30 minutos, um bot roda de cada vez por conta e as inicializações têm limite de frequência. Os bots rodam isolados, com acesso à internet, mas sem acesso aos sistemas do próprio Codexe.
#Verificação
Os bots do Discord não passam por verificação de build. Pronto significa que a geração terminou (veja o ciclo de vida do projeto). Use a execução de teste para conferi-los.
#Como rodar por conta própria
Baixe o ZIP, instale as dependências (pip install -r requirements.txt ou npm install), defina DISCORD_TOKEN no seu ambiente e inicie o bot. Convide o bot para o seu servidor com os escopos bot e applications.commands.
#Problemas comuns
| Sintoma | Causa provável |
|---|---|
| Os comandos de barra não aparecem | Os comandos ainda não foram sincronizados. A sincronização global pode levar até uma hora; a sincronização por servidor é instantânea. |
| O bot está online, mas ignora as mensagens | Um intent privilegiado não está ativado no portal de desenvolvedores. |
| "The application did not respond" | O comando levou mais de 3 segundos sem adiar a resposta. Peça ao chat para adiar a resposta (defer). |