Pular para o conteúdo principal
Erros de bot do Discord na Square Cloud geralmente têm origem no token, nas gateway intents, ou em uma incompatibilidade de versão com o Lavalink. Encontre a mensagem exata abaixo.

”LoginFailure: Improper token has been passed” / TOKEN_INVALID

O que significa: a biblioteca rejeita o token com o qual você está fazendo login (o discord.js lança LoginFailure/“An invalid token was provided”; outras stacks retornam um 401 TOKEN_INVALID). Por que acontece:
  • O token foi regenerado ou revogado no Discord Developer Portal. Gerar um novo token invalida instantaneamente o antigo em todos os lugares onde ele é usado.
  • A string do token tem espaços ou aspas extras copiados por acidente.
  • O código está lendo a variável de ambiente errada.
Como corrigir:
  1. Vá para o Developer Portal → sua aplicação → BotReset Token.
  2. Atualize o token nas Environment Variables desta aplicação no dashboard da Square Cloud. Nunca faça commit do token em um arquivo que é enviado no .zip.
  3. Verifique se não há espaços ou aspas soltas ao redor do valor.
  4. Atualize a biblioteca (discord.js@latest ou pip install -U discord.py).
  5. Reinicie a aplicação.
Nunca fixe o token do seu bot diretamente em arquivos de código-fonte. Sempre leia-o de uma variável de ambiente definida no dashboard.

”Used disallowed intents” / Message Content Intent

O que significa: o bot faz login e aparece online, mas ignora todas as mensagens, ou o gateway rejeita a conexão com “used disallowed intents”. Por que acontece: desde 2022, Message Content é uma intent privilegiada. Sem ela explicitamente habilitada nos dois lugares, o conteúdo da mensagem chega vazio (ou a conexão do gateway é recusada se o seu código declara uma intent que não está habilitada para a aplicação). Como corrigir, nos dois lugares:
  1. Discord Developer Portal → sua aplicação → BotPrivileged Gateway Intents → habilite Message Content Intent.
  2. Declare-a no código também:
  1. Reinicie a aplicação.
Depois que um bot passa de 100 servidores, intents privilegiadas (incluindo Message Content) também exigem aprovação do Discord, solicitada na mesma página do Developer Portal.
O que significa: o cliente Lavalink do bot fecha o WebSocket de forma anormal com o código 1006, geralmente precedido por “Unexpected server response: 400”. Por que acontece: isso é uma incompatibilidade de versão. O Lavalink v4 é baseado em REST e é incompatível com um wrapper de cliente feito para a v3, então o handshake falha e o socket fecha com 1006. Como corrigir:
  1. Alinhe a versão do wrapper de cliente Lavalink do seu bot com a versão principal do servidor Lavalink (cliente v3 com servidor v3, cliente v4 com servidor v4).
  2. Na Square Cloud, o próprio servidor Lavalink se vincula à porta 80, mas seu bot deve se conectar a ele através da borda na porta 443 com secure: true.
  3. Reinicie tanto a aplicação do Lavalink quanto a aplicação do bot depois de corrigir a incompatibilidade de versão.
Para a configuração completa de hospedagem do Lavalink (arquivo de configuração, porta, deploy), veja o tutorial do servidor Lavalink.

Bot fica offline depois de funcionar localmente

O que significa: o bot faz login normalmente quando você o roda na sua máquina, mas fica offline (ou reinicia repetidamente) depois de fazer o deploy. Por que acontece, mais comumente:
  • Uma conexão instável no nível do gateway sem tratamento de reconexão.
  • Versões de dependências conflitantes ou incompatíveis entre o que você testou localmente e o que está no seu arquivo de dependências.
  • Gatilhos de abuso da API do Discord (a conta recebe um email de notificação neste caso) por atingir limites de taxa de forma muito agressiva.
Como corrigir:
  1. Verifique primeiro os logs da aplicação no dashboard, eles mostram o motivo real da falha.
  2. Adicione handlers de erro para que um erro transitório não derrube o processo: process.on("unhandledRejection", ...) e client.on("error", ...) no discord.js, tratamento equivalente no discord.py.
  3. A Square Cloud reinicia automaticamente uma aplicação que travou (AUTORESTART no manifesto) quando o tempo de atividade anterior foi de mais de 60 segundos, o status de saída foi 1, e ela não reiniciou automaticamente nos últimos 60 minutos. Isso mantém o bot vivo através de erros transitórios, mas nunca corrige um erro de código subjacente, erro de sintaxe, ou dependência ausente, esses ainda precisam de uma correção no código.
  4. Fique atento aos limites de taxa da API do Discord (429): o limite global é de cerca de 50 requisições/segundo por token de bot, com buckets mais restritos por rota (criação/edição de canal permite aproximadamente 2 mudanças a cada 10 minutos por canal). Faça cache agressivamente, use uma fila assíncrona que respeita os headers X-RateLimit-Remaining/X-RateLimit-Reset-After, e use webhooks para envios em massa.
Veja o tutorial completo de hospedagem de bot do Discord para configuração do zero.
Se os logs não apontarem para uma causa clara, nossa equipe de suporte pode ajudar você a investigar mais a fundo.

Contate-nos

Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão — a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com 4.9/5 em 402 avaliações no Google e Trustpilot.