Un enlace de invitación de un bot de Discord es solo una URL de autorización OAuth2: su parámetro scope decide qué tipo de acceso se solicita (una cuenta de bot, comandos de barra o ambos), y su número de permisos decide qué puede hacer esa cuenta de bot una vez dentro. Además, un administrador del servidor tiene que aprobar todo antes de que surta efecto. Entender esos dos parámetros marca la diferencia entre crear un enlace de invitación seguro y copiar uno del que no puedes explicar del todo qué pide.
Anatomía de un enlace de invitación
Una invitación típica de bot tiene este aspecto:
https://discord.com/oauth2/authorize?client_id=123456789&permissions=268446800&scope=bot%20applications.commands
- client_id: el ID público de la aplicación. Se puede compartir sin problema, y aparece en todos los enlaces de invitación de ese bot.
- scope: qué tipo de acceso se solicita, separado por espacios (codificado en URL como
%20). - permissions: un único número que representa todos los permisos del servidor que se solicitan, sumados.
- guild_id y disable_guild_select (opcionales): preseleccionan un servidor concreto y bloquean el selector para que solo se pueda usar ahí. Son útiles para un botón de “añádeme aquí” por servidor.
El scope “bot”
Esto es lo que añade realmente el bot como miembro del servidor, la entrada que aparece en la lista de miembros con la etiqueta de bot al lado. Sin este scope no se une nada, porque no hay cuenta de bot que autorizar.
El scope “applications.commands”
Este registra los comandos de barra, de usuario y de mensaje de la aplicación para que se puedan usar en ese servidor. Técnicamente, un bot puede unirse solo con el scope bot, pero ninguno de sus /comandos aparecerá cuando alguien escriba /, porque el servidor nunca autorizó el registro de comandos.
Por qué casi siempre conviene usar los dos
Un bot invitado solo con bot todavía puede publicar mensajes, responder a botones de mensajes que ya envió y reaccionar a cosas que no requieren un comando de barra. Pero los usuarios de Discord actuales esperan comandos, y un bot que no puede registrarlos parece roto aunque funcione perfectamente. Por eso, cada enlace de invitación que genera Noxyr, y casi todos los bots legítimos, incluye ambos scopes juntos.
El número de permisos, descifrado
Cada permiso de Discord (enviar mensajes, gestionar roles, expulsar miembros) es un solo bit dentro de un campo de bits: una marca de potencia de dos. El número del enlace de invitación es la suma de todas las marcas solicitadas a la vez. Un enlace que pide permissions con valor 8 está pidiendo exactamente una cosa: Administrador, acceso total y sin restricciones al servidor. Un enlace de invitación bien construido suma solo las marcas concretas que usa el código del bot, como gestión de canales para crear canales de tickets, gestión de roles para un rol de verificación o acciones de moderación para responder a incursiones, en lugar de todo lo que Discord pone a disposición.
Por qué Administrador es una señal de alarma, no un requisito
La mayoría de los bots legítimos no lo necesitan. Pedirlo responde a una necesidad real pero rara, la de algo que toca casi todos los permisos a la vez, o, con mucha más frecuencia, a un bot creado con prisa al que se le pegó permissions con valor 8 porque era el número más fácil de conseguir. Además, es la pantalla más alarmante que Discord muestra al dueño del servidor durante la configuración, lo que lo convierte en un motivo habitual para rechazar la invitación sin más o para que el bot acabe eliminado por alguien que está revisando permisos. Puedes descifrar el número de permisos de cualquier enlace con una calculadora de permisos de Discord antes de hacer clic en Autorizar, para ver exactamente qué se está pidiendo.
Cómo se construye el enlace de invitación de Noxyr, como ejemplo
En lugar de pedir Administrador, la invitación de Noxyr se construye a partir de los permisos concretos que usan sus funciones: gestión de canales y roles para tickets y verificación, permisos de mensajes y moderación para las respuestas ante anti-nuke, y nada más allá de esa lista. Siempre incluye los scopes bot y applications.commands, así que sus comandos funcionan en cuanto se une.
Otros scopes de OAuth2 que verás mencionados
Discord define decenas de scopes de OAuth2 además de bot y applications.commands. La mayoría, como identify o guilds.join, pertenecen a la autenticación web del tipo “Iniciar sesión con Discord” y no a las invitaciones de bots, así que ni siquiera aparecen en un enlace de invitación estándar. Si un enlace que estás mirando pide algo desconocido junto a bot, conviene comprobar qué concede realmente ese scope antes de autorizarlo, ya que una invitación de bot que necesite scopes adicionales de autenticación web es poco habitual, salvo en un servicio que también ofrezca vincular cuentas.
Crear el enlace de invitación de tu propio Custom Bot
Una vez que has creado una aplicación en el Portal de desarrolladores de Discord, el generador de URL de la pestaña OAuth2 crea este enlace por ti con casillas: marca bot y applications.commands en los scopes, marca los permisos que necesita tu bot y copia el resultado. Así no tienes que montar a mano la URL ni el número de permisos.
Preguntas frecuentes
¿Qué hace disable_guild_select? Bloquea el selector de servidores a uno preelegido, así que un enlace de invitación pensado para una comunidad concreta no puede usarse por error para añadir el bot a otro sitio.
¿Necesito applications.commands si mi bot solo usa botones? No estrictamente para los botones de mensajes que ya envió, pero lo necesitas en cuanto intervenga un comando de barra.
¿Cambiar el número de permisos más adelante añade acceso retroactivamente? No. Un servidor que ya aprobó una invitación conserva lo que se le concedió en ese momento. Cambiar el enlace solo afecta a las invitaciones futuras, y las instalaciones existentes tienen que volver a invitarse y aprobarse para obtener más permisos.
¿Basta con scope=bot? Basta para que el bot se una, pero sus comandos de barra no aparecerán sin applications.commands junto a él.
¿Por qué Discord muestra una advertencia tan grande con Administrador? Porque pide acceso sin restricciones a todo el servidor, el permiso más peligroso que puede solicitar una invitación de bot.
¿Vas a configurar la invitación de tu propio bot? Consulta primero nuestra guía sobre cómo crear una aplicación de Discord y, si prefieres no escribir el código que hay detrás, lee la documentación de Custom Bot.