Por qué mi bot no lee mensajes: los Privileged Intents de Discord
El síntoma: bot en línea, pero "mudo"
¿Tu bot aparece en línea en Discord, quizá incluso responde a comandos de barra (/slash), pero simplemente ignora los mensajes de texto comunes? La mayoría de las veces el motivo no es un bug en tu código — es una configuración llamada Privileged Intents que está desactivada.
Qué son los Intents
Los Intents son "permisos de eventos" que le dicen a Discord qué información quiere recibir tu bot. En vez de enviar todo, Discord envía solo los eventos que tu bot declara que necesita — esto ahorra recursos y protege la privacidad de los usuarios.
Algunos intents se consideran Privileged (privilegiados) porque dan acceso a datos sensibles:
- Message Content Intent — necesario para leer el contenido de los mensajes.
- Server Members Intent — necesario para recibir la lista de miembros.
- Presence Intent — necesario para ver estado y presencia.
Por qué tu bot no lee mensajes
Desde 2022, el Message Content Intent pasó a ser privilegiado. Sin él activado, el campo content de los mensajes llega vacío — por eso el bot no "ve" lo que se escribió.
Cómo activar el Message Content Intent
- Accede al Discord Developer Portal y abre tu aplicación.
- Ve a Bot en el menú lateral.
- Desplázate hasta Privileged Gateway Intents.
- Activa Message Content Intent (y los demás que tu bot necesite).
- Guarda los cambios.
Declara los intents en el código también
Activarlos en el portal no basta: también debes declarar los intents en el 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)
Atención al límite de 100 servidores
Si tu bot está en 100 servidores o más, los Privileged Intents pasan a exigir verificación y aprobación de Discord. Por debajo de eso, basta con activarlos en el portal.
Checklist de diagnóstico
- ¿Message Content Intent activado en el Developer Portal?
- ¿Intent declarado en el código?
- ¿Token correcto y bot reiniciado tras el cambio?
Si el bot aún no responde después del deploy, confirma que está realmente en línea — mira el artículo Cómo alojar un bot de Discord para garantizar que el alojamiento es correcto.
Actualizado el: 13/06/2026
¡Gracias!
