Used disallowed intents (discord.js)
Privileged intent provided is not enabled or whitelisted.
Causa. O código pede um intent privilegiado, mas ele está desligado no Developer Portal. Os intents privilegiados são três: GuildMembers, GuildPresences e MessageContent.
Correção.
- Abra o Discord Developer Portal, escolha o bot e vá em Bot.
- Em Privileged Gateway Intents, ligue os intents que o código pede: Server Members Intent, Presence Intent ou Message Content Intent.
- Salve e reinicie o bot.
intents no new Client(...).
TokenInvalid: An invalid token was provided (discord.js)
client.login() recebeu um token errado ou vazio. Em hospedagem, o motivo mais comum é a variável de ambiente não existir: process.env.DISCORD_TOKEN chega como undefined.
Correção.
- Confira se a variável
DISCORD_TOKENestá cadastrada no app, com esse nome exato. Na Hyze: Configurações → Variáveis de ambiente. - Confira se o código lê o mesmo nome:
client.login(process.env.DISCORD_TOKEN). - Cole o token sem aspas e sem espaços no começo ou no fim.
- Se você gerou um token novo no portal, o antigo deixou de valer. Atualize a variável.
- Depois de mudar a variável, reinicie o app. Variáveis de ambiente são lidas quando o processo inicia.
PrivilegedIntentsRequired (discord.py)
Used disallowed intents: o código liga intents.members, intents.presences ou intents.message_content, mas o intent está desligado no Developer Portal.
Correção. No portal, em Bot → Privileged Gateway Intents, ligue os intents que o código usa e reinicie o bot. Se o bot não precisa de um deles, deixe ele como False no código.
LoginFailure: Improper token has been passed (discord.py)
client.run() está errado, foi trocado no portal ou veio com espaço ou aspas a mais. Se a variável nem existir, o erro muda: os.environ["DISCORD_TOKEN"] levanta KeyError e os.getenv("DISCORD_TOKEN") devolve None, que o discord.py recusa.
Correção.
- Copie o token de novo em Bot → Reset Token no Developer Portal.
- Cadastre como
DISCORD_TOKENnas variáveis de ambiente do app, sem aspas. - Leia com
os.environ["DISCORD_TOKEN"]. Se faltar, o log mostra o nome da variável na hora. - Reinicie o app depois de mudar a variável.
Missing Access e Missing Permissions
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access e (error code: 50013): Missing Permissions.
Causa.
- Missing Access (50001): o bot não enxerga o canal ou o servidor. Acontece quando ele não tem a permissão Ver canal, quando tenta usar um canal de outro servidor ou quando registra comandos de barra num servidor em que foi convidado sem o escopo
applications.commands. - Missing Permissions (50013): o bot vê o canal, mas não tem a permissão da ação. Exemplos: enviar mensagem, apagar mensagem, dar cargo. Para dar ou tirar um cargo, o cargo do bot precisa estar acima dele na lista de cargos do servidor.
- No portal, em OAuth2 → URL Generator, marque os escopos
boteapplications.commandse as permissões que o bot usa. - Abra o link gerado e convide o bot de novo. Ele não sai do servidor, só recebe as permissões novas.
- Confira as permissões do canal: uma regra do canal pode negar o que o cargo libera.
- Para gerenciar cargos, arraste o cargo do bot para cima dos cargos que ele vai dar.
Cannot find module (dependência fora do package.json)
import (ESM), a mensagem é Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'discord.js'. No Python, o equivalente é ModuleNotFoundError: No module named 'discord'.
Causa. No seu PC a biblioteca existe na pasta node_modules, mas não está no package.json. Na hospedagem, as dependências são instaladas do zero a partir do manifesto, então o que não está declarado não existe.
Outras causas que dão a mesma mensagem:
- O
package.jsonestá dentro de uma pasta no ZIP. A instalação não acha o manifesto. Coloque os arquivos na raiz do ZIP. - Maiúscula e minúscula no caminho.
require("./Commands/ping")funciona no Windows e no macOS com a pastacommands, mas falha no Linux. Use o nome exato da pasta e do arquivo. - No Python, a biblioteca não está no
requirements.txt. Atenção ao nome: o pacote édiscord.py, mas o import éimport discord.
requirements.txt, uma por linha (por exemplo, discord.py>=2.4).
Envie o package.json e o package-lock.json atualizados (ou o requirements.txt) e faça um novo deploy. Não envie a pasta node_modules: a Hyze instala as dependências a partir do manifesto.
Bot fica online mas não responde a mensagens
Não aparece erro nenhum. O bot está online no servidor, mas comandos como!ping não fazem nada. No discord.py, o log costuma mostrar este aviso:
- No portal, em Bot → Privileged Gateway Intents, ligue Message Content Intent.
- Peça o intent no código:
- Faça um novo deploy.
Used disallowed intents (discord.js) ou PrivilegedIntentsRequired (discord.py). As duas seções estão no começo desta página.
Próximos passos
Bot online 24 horas
O passo a passo completo para hospedar o bot.
Ver logs do app
Busque os logs também pela API.

