> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# ¿El bot no lee mensajes? Activa el Message Content Intent

## 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

1. Accede al Discord Developer Portal y abre tu aplicación.
2. Ve a **Bot** en el menú lateral.
3. Desplázate hasta **Privileged Gateway Intents**.
4. Activa **Message Content Intent** (y los demás que tu bot necesite).
5. 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)
```

## Verificación de Discord (cerca de 100 servidores)

Mientras tu bot está en **menos de 100 servidores**, tú mismo activas los Privileged Intents (como el Message Content Intent) en el Developer Portal, sin necesidad de aprobación.

A partir de unos **75 servidores** ya puedes solicitar la **verificación** de tu bot en Discord, y se vuelve **obligatoria al llegar a 100 servidores** — sin ella, el bot no puede entrar en nuevos servidores. Es durante ese proceso de verificación que Discord revisa y aprueba el uso de los Privileged Intents a escala.

## 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](https://help.squarecloud.app/es/article/como-alojar-un-bot-de-discord-en-square-cloud-3orixn/) para garantizar que el alojamiento es correcto.