NapNodes
Herramienta gratis · Bots de Discord

Calculadora de intents de bot de Discord

Marca lo que hace tu bot (o busca el evento que no te llega, como on_member_join o messageCreate) y sale qué intents pedir, el número, el código para discord.js o discord.py y los interruptores que hay que activar en el portal de Discord. También al revés: pega un número y te decimos qué intents son.

¿Qué hace tu bot?

Atajos (se suman a lo que ya tengas marcado):

21 intents · Ir al código

Servidor y miembros 8

Mensajes en los canales 5

Mensajes privados 4

Voz, eventos y moderación automática 4

¿Ya tienes un número?

Tu número de intents

0

Sin intents, el bot se conecta pero no recibe casi nada. Para un bot de comandos con barra, marca al menos «Servidores, canales y roles».

El código

const { Client, GatewayIntentBits } = require("discord.js");

const client = new Client({
  intents: [],
});

Nada de lo que marcas sale de tu navegador.

Qué son los intents

Un bot de Discord está conectado todo el rato y Discord le va mandando lo que pasa: mensajes, gente que entra, reacciones… Los intents son la lista de lo que el bot quiere recibir, y se piden al conectarse. Lo que no pides no te llega: si tu bot no pide los mensajes, tu on_message no se ejecuta nunca, sin ningún error. Por eso, si un evento «no funciona», lo primero es mirar si su intent está en la lista.

Como los permisos, van en un solo número: cada intent es una potencia de dos y el número es la suma. Mensajes en los canales (512) + contenido de los mensajes (32768) + servidores (1) = 33281.

Los tres privilegiados

Tres intents dan datos personales de la gente y Discord los separa: miembros (quién entra y sale), presencias (quién está en línea y a qué juega) y contenido de los mensajes (qué se escribe). Para usarlos hay que hacer dos cosas, y si falta una el bot no arranca o no ve nada:

  1. Pedirlo en el código, como en el de arriba.
  2. Activarlo en el portal: discord.com/developers/applications → tu aplicación → «Bot» → «Privileged Gateway Intents» → «Server Members Intent», «Presence Intent» o «Message Content Intent». Guarda los cambios.

Y después, reinicia el bot: los intents se piden al conectarse.

¿Necesito el contenido de los mensajes?

Solo si tu bot lee lo que escribe la gente: comandos con prefijo (!ayuda), filtros de palabras, respuestas automáticas, bots de niveles por mensaje. Sin él, el bot sí ve los mensajes que lo mencionan, los privados y los suyos. Si tu bot funciona con comandos con barra, no lo necesitas: Discord le pasa las opciones del comando ya separadas. Por eso hoy se recomienda la barra: un intent privilegiado menos que justificar cuando el bot crezca.

Preguntas frecuentes

Mi bot está en línea pero no responde a los comandos con «!», ¿por qué?

Casi siempre es el contenido de los mensajes: sin MESSAGE_CONTENT, al bot le llegan los mensajes con el texto vacío, así que nunca ve tu «!ping». Hay que pedirlo en el código (con GUILD_MESSAGES) y activar «Message Content Intent» en el portal. Es el atajo «Comandos con «!»» de arriba.

¿Qué significa «PrivilegedIntentsRequired» o «DisallowedIntents»?

Que tu código pide un intent privilegiado (miembros, presencias o contenido de los mensajes) que no está activado en el portal, y Discord cierra la conexión con el código 4014. Actívalo en «Bot» → «Privileged Gateway Intents», o quítalo del código si no lo usas.

¿Y el código 4013?

Que el número de intents lleva bits que no son de ningún intent (uno mal copiado o inventado). Pega tu número arriba, en «¿Ya tienes un número?», y te decimos qué bits sobran.

¿Los comandos con barra necesitan algún intent?

No: las interacciones (comandos con barra, botones, menús) llegan siempre, pidas lo que pidas. Aun así, pide GUILDS: las librerías lo usan para saber en qué servidores está el bot y qué canales tiene.

¿Por qué no pedirlos todos y olvidarme?

Porque cada intent es tráfico que tu bot recibe y procesa aunque no lo use: con presencias, un servidor grande manda un aviso cada vez que alguien cambia de estado o de juego. Más memoria y más procesador para nada. Y los privilegiados, cuando el bot crece, hay que justificarlos.

¿Cuándo hay que pedirle permiso a Discord para un intent privilegiado?

Según la documentación de Discord, mientras tu aplicación tenga menos de 10.000 usuarios basta con activarlo en el portal. A partir de ahí, Discord avisa al dueño y hay que pedir una revisión explicando para qué se usa cada uno.

¿Puedo poner el número en vez de la lista?

Sí: en discord.js, intents: 33281; en discord.py, discord.Intents(value=33281). Funciona igual, pero con la lista se lee qué pide el bot, por eso el código de arriba va con nombres.

Si el bot sigue sin responder con los intents bien puestos, repasa los demás motivos en mi bot de Discord no responde; y para invitarlo con los permisos justos, la calculadora de permisos.

¿Y dónde lo tienes encendido?

Un bot solo responde mientras su programa está encendido: si lo tienes en tu ordenador, se apaga cuando lo apagas. En NapNodes tienes un bot de Discord gratis, sin tarjeta: 256 MB de memoria, encendido siempre, y cada 7 días lo renuevas con un clic en el panel. Sirve para Node.js (discord.js) o Python (discord.py): se elige en «Configuración» → «Lenguaje». Si se te queda corto, hay planes Mini y Plus, sin renovar nada. Cómo se sube el código, en hosting para tu bot de Discord.

Crea tu bot gratis

¿Se lo pasas a tu grupo?WhatsApp

Más herramientas gratis

Todas las herramientas