Saltar al contenido principal
Esta página reúne tres flujos distintos bajo el módulo Vanity: la detección de invitaciones y enlaces no permitidos, la atribución de invitaciones de nuevos miembros y los roles vinculados a un código de invitación en el estado de Discord. No es un sistema general de vanity roles.

Setup con cuidado

.vanity quick activa el detector y el tracker, puede cambiar log a delete y selecciona un canal de avisos. No es un modo de prueba.

Tracker independiente

El tracker atribuye joins cuando puede comparar el uso de invites en caché. Desactivar sus avisos no detiene la actualización de estadísticas.

Acciones y límites

El runtime actual intenta borrar cada mensaje detectado por Link Guard antes de aplicar la acción seleccionada, incluso con log.

Acceso y alcance

Los comandos de configuración se ejecutan dentro de un servidor y requieren Administrator nativo o la autorización virtual compatible que Headless aplique a esa comprobación. El comando slash /vanity solo cambia el estado del detector; los demás grupos de configuración descritos aquí son de prefijo. La configuración de detector, allowlists, tracker y rewards está separada por servidor. El detector revisa invitaciones de Discord y enlaces en mensajes. El código vanity oficial del servidor se considera permitido automáticamente; las allowlists añaden excepciones. Puedes permitir una invitación/código, una URL o dominio, un comodín de subdominio, una ruta o las categorías discord, youtube y roblox. Las rutas permiten el prefijo de path configurado y una regla de dominio también coincide con sus subdominios. Se guardan hasta 120 reglas de enlace y 80 roles exentos. Un rol exento evita que sus miembros activen el detector; no les concede permisos de moderación. Las acciones configurables son log, delete, warn, timeout, kick y ban. El timeout se limita a 1–10 080 minutos. Headless registra coincidencias y, en la ruta activa de detección, intenta borrar el mensaje bloqueado en todos los modos antes de ejecutar la respuesta. Por eso log no garantiza conservar el mensaje: el código también publica un aviso después del intento de borrado. Si Discord rechaza el borrado o una sanción, la operación puede quedar parcialmente aplicada; los fallos de sanción se envían a Logs.
Si necesitas observar enlaces sin borrar mensajes, no actives el detector suponiendo que log sea pasivo. La implementación actual intenta eliminar el mensaje detectado aun con log; primero revisa la política del servidor y prueba en un canal de prueba.
  • Estado — Comando: .vanity · Efecto: Muestra estado, acción, timeout, invites/enlaces permitidos y estado del tracker.
  • Activar / pausar — Comando: .vanity on · .vanity off · /vanity enabled:true|false · Efecto: Cambia el flag del detector; no activa ni apaga el tracker.
  • Setup rápido — Comando: .vanity quick [#canal] · Efecto: Activa el módulo, el detector y el tracker, selecciona el canal, intenta sincronizar invites y cambia log a delete si log era la acción configurada.
  • Respuesta — Comando: .vanity action ACTION · Efecto: ACTION debe ser log, delete, warn, timeout, kick o ban.
  • Duración — Comando: .vanity timeout <minutos> · Efecto: Guarda un timeout entre 1 y 10 080 minutos; el valor predeterminado es 10.
  • Invitaciones — Comando: .vanity allow <invite> · .vanity disallow <invite> · Efecto: Añade o quita un código/URL de la allowlist.
  • Enlaces — Comando: .vanity allowlink <dominio o URL> · .vanity disallowlink <dominio o URL> · Efecto: Añade o quita reglas; máximo 120 entradas guardadas.
  • Bypass por rol — Comando: .vanity role @Rol · .vanity unrole @Rol · Efecto: Añade o quita roles exentos; máximo 80.
El grupo también acepta los alias .vn, .v, .van y .inviteguard. quick activa directamente los controles; no pide confirmación ni prueba el disparador. La acción de borrado del runtime puede ejecutarse antes de que falle una acción de timeout, kick o ban.
Headless detecta invitaciones y enlaces, normaliza cada coincidencia y compara códigos, dominios/rutas y roles exentos con la configuración del servidor. Si no hay coincidencias bloqueadas, no responde. Si las hay, crea un evento vanity_detected con parte del mensaje y la acción elegida, intenta entregarlo a Logs, intenta borrar el mensaje y luego aplica la respuesta. La allowlist no hace que un enlace permita cualquier otro enlace del mismo mensaje; cada coincidencia debe pasar la regla.

Invite Tracker

El tracker es independiente del filtro de enlaces. Cuando un miembro entra, Headless compara el contador de usos de invitaciones disponible con la caché anterior. Si puede identificar el código y su invitador, actualiza estadísticas por servidor, invitador y código; si no puede atribuir el join, el dato queda desconocido o no se añade a un invitador. No reconstruye actividad anterior al periodo observado. .vanity tracker sync vuelve a leer y cachear las invitaciones actuales; requiere que el bot tenga Manage Server para consultar invites. No importa joins históricos. announce off solo detiene los mensajes de bienvenida del tracker: las estadísticas pueden seguir actualizándose. Si el canal configurado no está disponible, el runtime puede recurrir al canal general de Logs.
  • Ver estado — Comando: .vanity tracker · Nota: Muestra el destino, formato y estadísticas resumidas.
  • Activar / pausar — Comando: .vanity tracker on · .vanity tracker off · Nota: on también habilita el módulo Vanity; off no apaga el Link Guard.
  • Elegir destino — Comando: .vanity tracker channel [#canal] · Nota: Sin canal usa el canal actual, si es de texto.
  • Avisos — Comando: .vanity tracker announce STATE · Nota: STATE acepta on u off; desactiva solo la publicación, no la atribución.
  • Formato — Comando: .vanity tracker format FORMAT · Nota: FORMAT acepta embed o text y selecciona el mensaje de entrada.
  • Plantilla — Comando: .vanity tracker template [texto] · Nota: Variables disponibles: {member}, {member_name}, {inviter}, {inviter_name}, {invite}, {joins} y {server}. La plantilla se limita a 450 caracteres.
  • Sincronizar — Comando: .vanity tracker sync · Nota: Requiere Manage Server del bot para leer invitaciones actuales.
  • Estadísticas — Comando: .vanity tracker stats [@miembro] · Nota: Sin miembro muestra hasta 10 invitadores; con miembro, sus joins y hasta ocho códigos.
Los comandos de configuración del tracker requieren el mismo acceso de administrador del grupo .vanity.

Reward de Vanity Status

Este reward observa el estado personalizado de presencia, no los mensajes con invitaciones. Se controla con .vanity promo status on|off; statuscode <código> y removestatuscode <código> mantienen hasta 20 códigos. Headless puede asignar hasta 20 roles configurados mediante .vanity promo role @Rol. El bot necesita el intent privilegiado de presencias habilitado en la aplicación Discord, un miembro disponible en el gateway, Manage Roles y una posición de rol que permita la asignación. .vanity promo statuschannel #canal elige el panel; .vanity promo scan revisa solo los miembros que están en la caché del servidor. .vanity promo statusremove on|off controla la retirada al desaparecer el código del estado; el retraso acepta 0–604 800 segundos. La retirada es de mejor esfuerzo: si Discord rechaza quitar un rol, el registro puede dejar de reflejarlo y el rol permanecer asignado. Verifica periódicamente la jerarquía y los roles existentes. Nota: .vanity promo on|off controla el panel/avisos del estado, mientras que .vanity promo status on|off controla el reward de roles. Son toggles distintos. La personalización admite plantilla, título, ping (sin menciones activas), thumbnail, banner y GIF.
La promoción automática cuando una persona publica un invite está configurada en el grupo .vanity promo, pero su callback de mensaje no está conectado en el runtime revisado. No la trates como una función activa. El reward implementado es el de Vanity Status.

Pasos

1

Revisa la acción y los permisos

Consulta .vanity y comprueba los permisos del bot. No uses quick como prueba: habilita el detector y el tracker, y puede cambiar log a delete.
2

Configura excepciones pequeñas

Añade únicamente invites, dominios/rutas y roles que deban quedar exentos. Comprueba cada URL permitida con un caso de prueba del servidor.
3

Decide si activar el detector

Como el callback intenta borrar el mensaje incluso con log, habilítalo solo cuando esa conducta esté aprobada. Selecciona una acción explícita y observa Logs.
4

Configura por separado el tracker o reward

Sincroniza invites para el tracker. Para rewards de estado, habilita presencia, valida jerarquía y configura los roles y el canal de estado por separado.

Comandos por flujo

Allowlist de invites, enlaces y roles

Atribución y estadísticas de invitaciones

Reward de estado Vanity

.vanity promo status

.vanity promo statuscode

.vanity promo role

.vanity promo statuschannel

Páginas relacionadas