Por que meu bot não lê mensagens? Entenda os Privileged Intents
O sintoma: bot online, mas "mudo"
Seu bot aparece online no Discord, talvez até responda a comandos de barra (/slash), mas simplesmente ignora as mensagens de texto comuns? Na maioria das vezes o motivo não é um bug no seu código — é uma configuração chamada Privileged Intents que está desativada.
O que são Intents
Intents são "permissões de eventos" que dizem ao Discord quais informações seu bot quer receber. Em vez de enviar tudo, o Discord manda apenas os eventos que seu bot declara que precisa — isso economiza recursos e protege a privacidade dos usuários.
Alguns intents são considerados Privileged (privilegiados) porque dão acesso a dados sensíveis:
- Message Content Intent — necessário para ler o conteúdo das mensagens.
- Server Members Intent — necessário para receber a lista de membros.
- Presence Intent — necessário para ver status e presença.
Por que seu bot não lê mensagens
Desde 2022, o Message Content Intent passou a ser privilegiado. Sem ele ativado, o campo content das mensagens chega vazio — por isso o bot não "enxerga" o que foi escrito.
Como ativar o Message Content Intent
- Acesse o Discord Developer Portal e abra sua aplicação.
- Vá em Bot no menu lateral.
- Role até Privileged Gateway Intents.
- Ative Message Content Intent (e os outros que seu bot precisar).
- Salve as alterações.
Declare os intents no código também
Ativar no portal não basta: você também precisa declarar os intents no código.
discord.js:
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
],
});
discord.py:
import discord
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
Atenção ao limite de 100 servidores
Se seu bot estiver em 100 servidores ou mais, os Privileged Intents passam a exigir verificação e aprovação do Discord. Abaixo disso, basta ativar no portal.
Checklist de diagnóstico
- Message Content Intent ativado no Developer Portal?
- Intent declarado no código?
- Token correto e bot reiniciado após a mudança?
Se o bot ainda não responde depois do deploy, confirme que ele está realmente online — veja o artigo Como hospedar um Bot de Discord para garantir que a hospedagem está correta.
Atualizado em: 05/06/2026
Obrigado!
