Inicio rápido
- Añade el bot a tu servidor con el botón Añadir a Discord.
- Coloca el rol «Protector» arriba del todo en la lista de roles (Ajustes del servidor, Roles). Un rol nunca puede actuar sobre un rol situado por encima: sin esto, el anti-nuke, la restauración y las sanciones fallan.
- Ejecuta
/autoconfig, elige tu idioma y un nivel de protección (1 ligero, 2 estándar, 3 estricto). Protector activa y ajusta todos los módulos, crea un canal de registros y un portal de verificación. Puedes volver a ejecutarlo: lo que ya existe se reutiliza, sin duplicados. - Comprueba con
/diagnosticque cada protección tiene los permisos que necesita.
Con esto ya estás protegido. Todo lo demás se ajusta después, en /config o desde el panel. Estos cuatro pasos en imágenes, pantalla a pantalla: la guía de configuración.
Configuración
El panel /config
/config abre un panel interactivo en un mensaje que solo tú ves. Cada módulo tiene un botón para activarlo o desactivarlo, formularios para los umbrales y duraciones, y menús para elegir canales y roles. Todo se guarda al instante, servidor por servidor.
Solo los miembros con el permiso Gestionar servidor pueden abrir la configuración.
Idioma del servidor
El botón Idioma define el idioma en el que Protector escribe en el servidor: español, inglés, francés o alemán. El comando /informations cambia el idioma solo para ti, mientras lees.
Módulos protegidos y rol de seguridad
A un administrador que prepara una traición le bastaría con desactivar las protecciones antes de atacar. Por eso los sistemas más importantes están reservados al propietario del servidor:
- anti-raid, anti-nuke, anti-spam, anti-webhook, cuarentena de bots y raid coordinado;
- la lista de roles de staff, que están exentos del anti-spam.
Los demás gestores ven estos ajustes, pero no pueden cambiarlos. En /config, General, el propietario puede elegir un rol de seguridad autorizado a cambiarlos. Solo el propietario puede dar este rol: si un administrador o un bot se lo asigna a alguien, Protector lo retira al instante y avisa al propietario por mensaje privado.
Para que este control funcione, Protector necesita el permiso Ver el registro de auditoría y un rol situado por encima del rol de seguridad.
Panel web
En protector-bot.com, inicia sesión con Discord para ver los servidores de los que eres propietario o donde tienes Gestionar servidor, y activar o desactivar cada módulo con un clic.
La web nunca toca tu servidor. Guarda una solicitud, que Protector recoge en unos segundos. Después, el bot comprueba en Discord que sigues siendo miembro, que sigues teniendo el permiso y que el módulo no está protegido, y aplica o rechaza. Cada cambio se anota en tu canal de registros con la mención «vía el panel web».
Todo se ajusta desde la web
En la página de un servidor, el enlace Configurar de un módulo abre sus ajustes: umbrales, duraciones, porcentajes, textos, canales y roles. Es exactamente lo que permite /config en Discord, con los mismos límites y las mismas protecciones. Aparece una barra abajo en cuanto cambias un valor: no se envía nada hasta que pulsas Guardar.
La web comprueba lo que puede al instante (límites, formato, tipo de canal), pero Protector es quien decide: al aplicar, vuelve a comprobar cada valor y cada permiso en Discord. Una solicitud pasa entera o nada: si se rechaza un campo, su motivo aparece justo debajo y no se escribe nada.
Los ajustes generales (idioma, canal de registros, roles de staff, rol de seguridad) y la red multiservidor tienen su propia página, arriba de la lista de módulos. Los módulos protegidos siguen reservados al propietario y al rol de seguridad: los demás gestores los ven en solo lectura.
Imagen de fondo de la tarjeta de bienvenida
Es el único ajuste que se hace solo en la web, en el módulo Bienvenida. Elige una imagen PNG o JPEG (8 MB como máximo, al menos 440 × 130 píxeles): Protector la descarga y la analiza con su filtro anti-NSFW antes de usarla, con más rigor que en los canales, incluida la desnudez sugerente. Si el modelo de análisis no está disponible, la imagen se rechaza: ninguna imagen se usa sin haber sido analizada.
Una imagen aceptada se recorta al centro al formato de la tarjeta (880 × 260) y se recodifica sin sus metadatos, y después el bot la guarda. Si se rechaza, se borra de la web al instante; nadie más que quien la envió la ve antes de su aceptación. El botón Volver al fondo por defecto la borra tanto del bot como de la web.
Sistemas de protección
Anti-raid
Detecta una ola anormal de entradas en poco tiempo y pone el servidor en bloqueo: sube el nivel de verificación y las cuentas demasiado nuevas se expulsan o banean mientras dura el raid. Todo es ajustable: umbral y ventana de entradas, antigüedad mínima de la cuenta, acción y duración.
El bloqueo queda guardado: reiniciar el bot no lo interrumpe. Al final se restablece el nivel de verificación original, salvo si el staff lo cambió entretanto, en cuyo caso se respeta su elección.
Anti-spam y mensajes gigantes
Bloquea el flood, los mensajes idénticos repetidos, las menciones masivas y los enlaces de invitación. También vigila las aplicaciones añadidas a un perfil (apps de usuario): si hacen spam, se expulsa al autor, se banea la app cuando es posible y se borran los mensajes. Un mismo mensaje repartido por varios canales también alerta al equipo de Protector.
Protector detecta además los mensajes gigantes que inundan un canal: títulos «#», caracteres muy anchos como «﷽», líneas vacías o invisibles. Estima la altura del mensaje en pantalla y lo trata como spam a partir de 50 líneas, o de veinte líneas vacías. La altura se ajusta en /config, Anti-spam.
Si no se puede silenciar al autor de un spam de menciones (falta un permiso, rol demasiado bajo), se avisa al propietario en privado.
Raid coordinado
El anti-spam razona por miembro. Veinte cuentas que publican cada una dos mensajes idénticos quedan por debajo de todos sus umbrales. Este módulo observa una ventana de tiempo: si varios miembros distintos publican un contenido muy parecido en menos de un minuto, se borran los mensajes y se silencia a los participantes mientras el staff revisa. La comparación se hace localmente y el staff del servidor siempre está exento.
Anti-nuke y restauración
Si un miembro o un bot encadena acciones destructivas (borrar canales o roles, baneos en ráfaga, webhooks), Protector lo neutraliza, avisa al propietario y restaura la estructura a partir de una copia reciente: canales, roles, permisos, posiciones, nombre e icono. Tu configuración se vincula automáticamente a los canales recreados.
Los ataques que no borran nada también cuentan:
- Purga de miembros: cuenta como tantas expulsiones como miembros retirados.
- @everyone que recibe Administrador, Banear, Gestionar roles…: Protector reacciona a la primera y retira esos poderes.
- Canales privados abiertos a todos: cada uno cuenta, y Protector los vuelve a cerrar.
- Invitación personalizada cambiada o retirada: se avisa al propietario al instante, para recuperarla antes de que otro servidor la reserve.
La sanción es gradual para los humanos: la lista negra global solo se aplica a partir de cierto número de acciones destructivas. Por debajo, es una sanción local y una restauración. Un bot raider siempre entra en la lista negra.
Canales privados y 16 de noviembre de 2026
En esa fecha, Discord deja de dar a los bots el nombre y los permisos de los canales que no ven. Protector guarda el estado de cada canal sobre la marcha: tras un nuke, un canal privado se recrea con el nombre y los permisos que conocía. Un canal cuyos permisos nunca conoció no se recrea mal: el resumen lo indica. Antes de la fecha, el propietario recibe en privado la lista de canales afectados.
Anti-phishing, anti-webhook y anti-bot
- Anti-phishing: borra los enlaces de estafa (Nitro falso, robo de cuentas, dominios imitados) y sanciona a su autor.
- Anti-webhook: cuando un webhook publica spam o phishing, se borra el propio webhook.
- Anti-bot: los bots señalados como maliciosos se banean nada más entrar. Los bots de confianza pueden ir a una lista blanca.
Cuarentena de bots nuevos
Activada por defecto. Todo bot añadido pierde sus permisos y roles adicionales hasta que el propietario decide, por mensaje privado, aprobarlo o expulsarlo. Mientras espera, cualquier intento de devolverle roles o permisos se anula.
Al aprobarlo, Protector le devuelve sus permisos. Discord solo le deja dar los que él mismo tiene: los que no puede devolver se indican, junto con el rol donde añadirlos. Los bots validados por el equipo de Protector no se ven afectados.
Bots recientes. Un bot cuya cuenta tiene menos de 7 días llega con una advertencia en el mensaje al propietario y un botón Banear adicional. Un bot de menos de 30 días queda después vigilado: en su primera acción destructiva (borrar un canal, un rol, un webhook o un emoji, banear, expulsar, depurar, añadir otro bot, dar poderes a @everyone, abrir a todos un canal privado), se le retiran los permisos, lo que hizo se restaura cuando es posible y el propietario decide por mensaje privado: autorizar, expulsar o banear. Protector nunca lo banea por su cuenta. Un bot en la lista blanca del servidor no se ve afectado.
Filtro NSFW
Analiza el texto, con una lista resistente a los trucos («p.o.r.n», leet) sin bloquear palabras inocentes, y las imágenes, con un modelo que se ejecuta localmente. Los GIF compartidos desde Tenor, Giphy o Imgur se analizan en varios fotogramas. Puedes permitir canales concretos y elegir la acción: borrar, o borrar y aislar temporalmente.
Canal trampa
Un canal donde nadie tiene motivo para escribir, y que lo dice claramente. Las cuentas pirateadas y los bots de raid escriben en todas partes sin leer: un mensaje en este canal los delata. Protector actúa al instante (softban por defecto, o baneo, expulsión, aislamiento temporal) y borra sus mensajes recientes, hasta 7 días atrás. Tras una expulsión o un softban, se les puede enviar un enlace para volver: útil para una cuenta pirateada, una vez recuperada por su dueño. El staff, el propietario, la lista blanca, los bots y los webhooks nunca activan la trampa. Se activa en /config, Canal trampa; Protector puede crear el canal él mismo.
Puntuación de riesgo
En cada entrada, Protector calcula una nota de 0 a 100 combinando la antigüedad de la cuenta, su reputación en la red (¿ya está en la lista negra en otro sitio?), el avatar por defecto y el parecido del nombre o avatar con raiders conocidos. El resultado se registra; es posible una acción automática por encima de una puntuación alta, desactivada por defecto.
Vigilancia del staff
Cuando se asigna un rol con permisos sensibles (Administrador, Gestionar servidor, Banear, Webhooks…) a una cuenta considerada de riesgo (demasiado nueva, recién llegada), Protector alerta al propietario y retira el rol si puede.
Cuenta de staff comprometida. Los filtros no se aplican al staff, lo que dejaba libre a una cuenta robada. Por eso Protector vigila señales que no tienen motivo para aparecer en un moderador legítimo: enlace de phishing, ráfaga de menciones, avalancha de mensajes. Por encima de un umbral, se retiran y memorizan sus roles, se le silencia y se envía una alerta al propietario. Los accesos se pueden restaurar en cualquier momento.
Anti-suplantación
Detecta a los miembros que copian el nombre o el avatar del propietario o del staff, al entrar y tras un cambio de nombre. La acción se elige en /config: alerta o expulsión.
Funciones nativas de Discord
Protector también controla las protecciones integradas en Discord. Actúan en el origen: antes de que se publique un mensaje, se use una invitación o se envíe un MD.
Invitaciones y MD pausados durante un raid
Cuando el anti-raid bloquea el servidor, Protector pide a Discord que pause las invitaciones y los mensajes directos entre miembros hasta el final del bloqueo (24 horas como máximo, límite de Discord). Los miembros ven el aviso oficial de «actividad inusual» de Discord. Es la única respuesta a los raiders que envían MD de estafa a tus miembros: ningún bot ve ni bloquea un mensaje privado.
La pausa se levanta al terminar el bloqueo. Una pausa puesta a mano por tu staff nunca la levanta Protector. Ajuste: Pausar invitaciones y MD en Anti-raid (activado por defecto). Protector necesita el permiso Gestionar servidor.
Escudo AutoMod de Discord
Protector lee un mensaje y luego lo borra: siempre actúa después de la publicación. Con el escudo AutoMod de Discord (módulo Anti-spam), Protector también mantiene al día reglas nativas de AutoMod a partir de su propia configuración:
- Palabras prohibidas e invitaciones: las palabras del filtro y los enlaces de invitación de Discord;
- Menciones masivas: el límite de menciones del anti-spam, con la protección contra raids de menciones de Discord;
- Spam: el contenido que el propio Discord reconoce como spam.
Discord bloquea esos mensajes antes de publicarse, sin ningún retraso, y sigue protegiendo aunque Protector esté desconectado. Los roles del staff y los de la lista blanca están exentos, igual que los canales excluidos del anti-spam y del filtro. Se envía una alerta a tu canal de registros.
Las reglas se llaman «Protector · …» y Protector solo modifica las suyas: tus reglas de AutoMod nunca se tocan. Discord solo admite una regla de spam y una de menciones por servidor: si tu staff ya tiene una, Protector la deja. Desactivado, el escudo retira sus reglas. /autoconfig lo activa.
Bienvenida de Discord (Onboarding)
/autoconfig y el creador de servidores configuran la bienvenida nativa de Discord: los canales predeterminados para los nuevos y, con el creador, una pregunta «Elige tus roles» con los roles decorativos del servidor.
- Discord solo ofrece la bienvenida en servidores Comunidad (Ajustes del servidor, Activar comunidad), con al menos 7 canales visibles para todos, 5 de ellos con permiso de escritura. Si no, Protector te dice qué falta.
/autoconfignunca reemplaza una bienvenida ya configurada por tu staff. El creador de servidores, que rehace todo el servidor, sí la reemplaza.
Roles vinculados: «Verificado por Protector»
Discord permite que una aplicación ofrezca requisitos para roles vinculados. Protector ofrece dos:
- Verificado por Protector: la cuenta está vinculada a Protector y no figura en su lista negra global;
- Antigüedad de la cuenta (días): la cuenta de Discord se creó hace al menos estos días.
Para un servidor: Ajustes del servidor, Roles, elige un rol, Vínculos, Añadir requisito, Protector. Los miembros que cumplen los requisitos reclaman el rol ellos mismos desde el menú del servidor. Funciona incluso en servidores donde Protector no está instalado.
Para un miembro: la vinculación se hace una vez, en protector-bot.com/linked-roles, y te acompaña en todos los servidores. Si tu estado cambia (incluido en la lista negra, por ejemplo), Discord se actualiza automáticamente. Puedes desvincularte cuando quieras.
Verificación de nuevos miembros
Los nuevos miembros quedan en cuarentena: solo ven el canal de verificación. Tres modos en /config, Verificación:
- Botón: un clic en «Verificar» da acceso.
- Captcha de imagen: se publica un código con la mención del miembro, que lo escribe en el canal. Código correcto: se borran los mensajes y se da acceso.
- Sitio (Premium): el botón da un enlace privado a protector-bot.com. El miembro inicia sesión con Discord y Protector detecta las cuentas secundarias por dispositivo. Una cuenta vinculada a un miembro baneado del servidor se expulsa (o se banea, o se deja al staff, a elegir); otra probable cuenta secundaria sigue en cuarentena y el staff decide con los botones de la alerta. Con Premium Plus, también se detecta una conexión por VPN, proxy o Tor. Ajustes: panel, Verificación, Verificación por el sitio.
Configuración: /verification-setup, con el rol de cuarentena y el canal de verificación. También puedes definir un rol que se añade automáticamente tras la verificación.
Si se borra el mensaje de verificación, vuelve solo con la llegada del siguiente miembro. Los roles dados por otros bots a un miembro aún no verificado se retiran y se le devuelven en cuanto se verifica. Tras la configuración, Protector comprueba lo que el rol de cuarentena ve realmente e indica cualquier canal que siga visible.
Moderación e historial
/warn /mute /kick /banSanciones, cada una con el permiso de Discord correspondiente./tempbanBaneo temporal, retirado automáticamente./unmute /unbanRetirar una sanción./historyHistorial de un miembro en este servidor./clearBorrado masivo de hasta 500 mensajes: todos, los de un miembro o los que contienen una palabra./slowmodeModo lento de un canal./lockdown /unlockBloqueo de emergencia de todo el servidor./panicEmergencia ampliada: bloqueo, revocación de todas las invitaciones y filtro de entradas.
Cada sanción se guarda en un historial por servidor. Las sanciones hechas fuera del bot, desde el registro de auditoría de Discord, también se registran con su motivo. Con /clear se conservan los mensajes fijados; más allá de 14 días, Discord prohíbe el borrado masivo y la respuesta lo indica.
Filtro de palabras
Bloquea una lista de palabras que tú defines, sin distinguir mayúsculas ni acentos. Actívalo en /config y gestiona la lista con /wordfilter.
Mejora de la moderación
Cuando un filtro actúa sobre un mensaje, Protector puede enviar ese contenido a su equipo para comprobar que la intervención estaba justificada. Los autores se sustituyen por un seudónimo irreversible y el contenido se borra a los 90 días. Se puede desactivar en cualquier momento en /config, Mejora. Los detalles están en la política de privacidad.
Denuncias
- Denunciar mensaje (clic derecho en un mensaje, Aplicaciones): un formulario envía el mensaje al canal de denuncias de tu servidor, donde el staff puede sancionar o ignorar.
- Denunciar usuario (clic derecho en un miembro, Aplicaciones): un informe con motivo, enlaces e imágenes va al equipo de Protector, que lo revisa sin entrar en tu servidor.
- Denunciar a Protector (clic derecho en un mensaje): envía una estafa al equipo, incluso fuera de los servidores protegidos.
- En el servidor de soporte: abre una denuncia en el servidor de soporte, con una descripción detallada y tus pruebas (capturas, vídeos, registros).
Una cuenta denunciada varias veces y confirmada por el equipo puede entrar en la lista negra de la red, lo que protege a todos los servidores a la vez.
Registro de eventos
Desactivado por defecto. Una vez activado, eliges las categorías que se registran y un canal por defecto; cada categoría puede tener su propio canal. Los registros se envían con un webhook propio de cada canal.
| Categoría | Eventos |
|---|---|
| Mensajes | Borrado con su autor, purgas, ediciones con antes y después, archivos adjuntos conservados. |
| Miembros | Entrada y salida, cambio de apodo, antigüedad de la cuenta (aviso por debajo de 7 días), número de miembros. |
| Moderación | Baneo, desbaneo, aislamiento temporal con duración, autor y motivo. |
| Roles | Creados, borrados, editados, roles dados o retirados. Permisos escritos con palabras claras. |
| Canales | Creados, borrados, nombre, tema, categoría, modo lento y permisos detallados por rol y por miembro. |
| Servidor | Nombre, icono, banner, invitación personalizada, propietario, nivel de verificación, filtro de contenido, mejoras. |
| Voz | Conexión, desconexión, cambio de canal, silencio del servidor, pantalla compartida y cámara. |
| Hilos | Hilos y publicaciones de foro creados, editados y borrados. |
| Invitaciones | Invitación creada y borrada, con su autor, o caducada. |
| AutoMod | Cada intervención del AutoMod de Discord y cada cambio en sus reglas. |
| Emojis y stickers | Emojis, stickers y sonidos creados, editados y borrados. |
| Eventos | Eventos programados creados, editados y borrados. |
| Webhooks | Webhooks creados, editados y borrados, con su autor. |
Leer un registro de cambios
Cada cambio se escribe antes y después. El campo «Por» distingue tres casos: un miembro con nombre (fue él), «Falta un permiso» (da a Protector Ver el registro de auditoría) o «No atribuible» (Discord no escribió ninguna entrada de auditoría).
Quién borró un mensaje
- Protector, con el motivo («Protector, anti-spam»): el bot anota sus propios borrados.
- Un miembro con nombre: el borrado viene del registro de auditoría de Discord.
- «Sin rastro, probablemente el autor»: Discord no escribió nada. Casi seguro fue el autor, sin certeza, y el registro no afirma lo contrario.
Copia de seguridad y restauración
Reservado al propietario, e independiente de las copias automáticas del anti-nuke.
/backup createCaptura la estructura completa: roles, canales, permisos y últimos mensajes de texto./backup listLista tus copias./backup deleteBorra una copia./restoreMuestra el contenido de una copia, te deja elegir si restaurar los mensajes y restaura.
Se crea una copia automáticamente cuando llega el bot. Como máximo dos copias por servidor, cinco para un servidor Premium y diez con Premium Plus.
Lista negra de la red y apelaciones
Cuando un usuario alcanza un nivel de infracción muy alto, o durante un nuke confirmado, entra en la lista negra global: se le banea de todos los servidores que Protector protege y se le bloquea si intenta entrar en uno. Se le avisa antes por mensaje privado. Este poder está reservado al equipo de Protector: los administradores de servidor no lo tienen.
Aun así puedes elegir aceptarlo. Si vuelve a tu servidor, Protector le retira todo acceso y te envía un mensaje con dos botones. Sin respuesta en cinco minutos, se le banea. En cualquier caso, la cuenta sigue sin poder usar los comandos del bot.
El único lugar donde una cuenta en la lista negra conserva la palabra es el servidor de soporte, donde /appeal permite pedir una revisión.
Premium y Premium Plus
Toda la protección descrita arriba es gratuita, incluida la moderación con IA de los mensajes señalados. Los planes añaden análisis y herramientas opcionales; la comparativa completa y los enlaces de suscripción están en la página Premium.
| Plan | Lo que añade |
|---|---|
| Premium | Análisis NSFW contextual del texto, red multiservidor, roles temporales, personalización de embeds, Protector con tus colores, estadísticas de moderación avanzadas, sorteos ilimitados, 5 copias. |
| Premium Plus | Análisis en tiempo real de cada mensaje con acción automática, informe semanal, auditoría de seguridad /audit, registro persistente /logs, webhook saliente, apelación de sanciones y formulario de candidatura en la web, 10 copias. |
Protector con tus colores (Premium): en tu servidor, el bot adopta el apodo, avatar, banner y biografía que elijas en Personalización, sin cambiar en ningún otro sitio. Las imágenes pasan por el filtro anti-NSFW, se rechaza un apodo que imite a Discord o a otro bot, la biografía mantiene la mención «Con la tecnología de Protector», y todo vuelve al aspecto de Protector al terminar el plan.
Herramientas comunitarias: el fondo de la tarjeta de nivel, 10 canales de voz creadores, notificaciones para todas tus cuentas y 25 respuestas automáticas con Premium; canales creadores ilimitados y 50 respuestas automáticas con Premium Plus. Premium añade además estadísticas de moderación avanzadas; Premium Plus, la apelación de sanciones y un formulario de candidatura propio.
En /config, un módulo reservado a un plan sigue visible con una estrella y un candado, pero no se puede ajustar sin el plan: ajustarlo sin efecto daría la ilusión de una protección activa. Al terminar la suscripción, sus ventajas se detienen sin perder la configuración. Los planes se consiguen en la tienda de Discord del bot.
Red multiservidor
Une varios servidores de los que eres propietario en una sola red (plan Premium). Un servidor principal lleva la suscripción y la configuración; los servidores vinculados no necesitan nada. Una red tiene como máximo 9 servidores vinculados además del principal.
- Baneos compartidos: banear a alguien en un servidor de la red lo banea en todos. Solo circulan los baneos, y solo si tuvieron éxito en el origen.
- Registros centralizados: los registros de los servidores vinculados llegan a un canal del principal, por webhook, cada uno con el nombre de su servidor de origen.
- Canales compartidos: un mensaje publicado en un lado aparece en el otro con el nombre y el avatar de su autor. Cada canal envía, recibe, o ambas cosas.
Ninguna mención cruza un puente: roles, @everyone y @here se neutralizan en el texto y la API los rechaza. Los archivos no se copian, solo se indica su nombre. ¿Por qué solo tus propios servidores? Vincular un servidor da el poder de banear en él: la restricción garantiza que la red no te da ningún poder que no tuvieras ya. La condición se vuelve a comprobar en cada baneo.
Webhook saliente
Con Premium Plus, Protector envía cada incidente de seguridad a tu propio servidor HTTPS, para archivarlo o lanzar tus alertas. Cada solicitud va firmada: puedes demostrar que viene de Protector y que no se ha modificado.
Configuración
/webhook setDefine la dirección y muestra la clave de firma (solo el propietario)./webhook keyVuelve a mostrar la clave, en privado./webhook rotateGenera una clave nueva si se filtró; la anterior deja de funcionar al instante./webhook testEnvía un evento de prueba./webhook statusEstado, último envío, fallos consecutivos./webhook disableDetiene el envío sin borrar la configuración.
La dirección debe usar HTTPS, y se rechazan las direcciones locales o privadas (localhost, 127.x, 10.x, 192.168.x, de 172.16.x a 172.31.x, 169.254.x, .local). Tras 20 fallos consecutivos, el envío se desactiva solo.
Lo que envía Protector
Una solicitud POST con un cuerpo JSON y estas cabeceras:
| Cabecera | Contenido |
|---|---|
X-Protector-Event | Tipo de evento: incident.raid, incident.nuke, incident.spam, incident.lockdown o test. |
X-Protector-Timestamp | Marca de tiempo Unix del envío, en segundos. |
X-Protector-Signature | sha256=<firma hexadecimal> |
Content-Type | application/json |
{
"type": "incident.nuke",
"guild": { "id": "123456789012345678", "name": "Mi servidor", "member_count": 1250 },
"culprit_id": "987654321098765432",
"adder_id": null,
"description": "Acciones destructivas masivas detectadas",
"guild_id": "123456789012345678",
"sent_at": "2026-07-31T02:14:07.512Z"
}
Verificar la firma
La firma es un HMAC-SHA256 de la cadena marca de tiempo + "." + cuerpo en bruto, calculado con tu clave. Usa el cuerpo en bruto, antes de decodificar el JSON: volver a codificarlo cambiaría los bytes.
import express from 'express';
import { createHmac, timingSafeEqual } from 'node:crypto';
const SECRET = process.env.PROTECTOR_SECRET; // la clave de /webhook set
const app = express();
app.post('/protector', express.raw({ type: 'application/json' }), (req, res) => {
const ts = req.get('X-Protector-Timestamp');
const sig = (req.get('X-Protector-Signature') || '').replace('sha256=', '');
const raw = req.body.toString('utf8');
// 1) Rechazar las solicitudes demasiado antiguas (reenvío)
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return res.sendStatus(408);
// 2) Comparar en tiempo constante
const expected = createHmac('sha256', SECRET).update(`${ts}.${raw}`).digest('hex');
const a = Buffer.from(expected), b = Buffer.from(sig);
if (a.length !== b.length || !timingSafeEqual(a, b)) return res.sendStatus(401);
const event = JSON.parse(raw);
console.log('Incidente recibido:', event.type, event.guild.name);
res.sendStatus(200);
});
app.listen(3000);
import hmac, hashlib, time
from flask import Flask, request
SECRET = "tu_clave"
app = Flask(__name__)
@app.post("/protector")
def protector():
ts = request.headers.get("X-Protector-Timestamp", "0")
sig = request.headers.get("X-Protector-Signature", "").replace("sha256=", "")
raw = request.get_data(as_text=True)
if abs(time.time() - int(ts)) > 300:
return "", 408
expected = hmac.new(SECRET.encode(), f"{ts}.{raw}".encode(), hashlib.sha256).hexdigest()
if not hmac.compare_digest(expected, sig):
return "", 401
print("Incidente recibido:", request.json["type"])
return "", 200
Buenas prácticas
- Responde rápido con un código 2xx: más allá de 8 segundos, el envío cuenta como fallo.
- Rechaza las solicitudes de más de 5 minutos para impedir reenvíos.
- Compara las firmas en tiempo constante, nunca con
==. - No publiques nunca tu clave. Ante la duda:
/webhook rotate.
Herramientas para la comunidad
- Bienvenida: mensaje de bienvenida con tarjeta de imagen opcional y rol automático (desactivado si la verificación ya gestiona las entradas). Variables del mensaje:
{user}(mención del miembro),{server}(nombre del servidor) y{count}(número de miembros). Las variantes habituales, como{mention}o{server name}, también se entienden. - Tickets: canales privados entre un miembro y el equipo, asignación, notas internas, cierre con transcripción entregada al solicitante, cierre automático de tickets inactivos y valoración.
/ticket panelpublica el panel. Desde la web, el panel se personaliza: motivos propuestos, color, texto del botón y mensaje de apertura. - Sugerencias:
/suggestpublica una idea con votos, barra de progreso e hilo de debate; el staff acepta o rechaza con un motivo. - Sorteos:
/giveawaycon sorteo automático. Un sorteo activo a la vez gratis, ilimitados con Premium. - Roles con botón:
/roles addcrea botones para que los miembros se asignen roles, 25 por canal. - Contadores:
/counterscrea canales que muestran el número de miembros, humanos o bots, actualizados cada 10 minutos. - Roles temporales (Premium):
/temproleasigna un rol que se retira solo al vencer. - Invitaciones:
/invitesmuestra quién invitó a quién. Cuando Discord no permite saber quién invitó a un miembro (Descubrimiento de servidores, una aplicación que añade miembros, un enlace creado mientras Protector estaba desconectado), el registro lo dice en lugar de inventar un nombre. - Embeds: desde la web, redacta mensajes enriquecidos con una vista previa fiel a Discord, parte de una plantilla y programa su envío o su repetición.
- Niveles: XP al escribir (una ganancia por periodo, nunca por un mensaje detenido por los filtros) y, opcionalmente, en voz.
/levelmuestra la tarjeta de un miembro (avatar, nombre, nivel, barra de progreso, XP). Anuncio de nuevo nivel en el canal del mensaje, en un canal elegido o por mensaje privado, con un texto personalizable:{user}(mención),{username}(nombre),{level}(nivel alcanzado),{xp}(XP total),{rank}(puesto en la clasificación),{server}(nombre del servidor). Roles de recompensa por nivel, curva, multiplicadores y canales o roles sin XP se ajustan en el sitio. El fondo de la tarjeta es Premium y pasa por el filtro anti-NSFW. - Canales de voz temporales: unirse a un canal creador abre un canal de voz con el nombre del miembro, borrado en cuanto queda vacío. Su propietario recibe un panel: abierto, cerrado o privado, listas blanca y negra, purga, micro, vídeo, soundboards, estado, transferencia, ajustes (nombre, plazas) y guardado para su próximo canal. Los canales se guardan en la base: tras un reinicio, Protector los recupera, borra los vaciados mientras tanto y atiende a los miembros que siguen en un canal creador. Canales creadores: 1 gratis, 10 con Premium, ilimitados con Premium Plus.
- Notificaciones: nuevos vídeos de YouTube y TikTok y directos de Twitch, anunciados en el canal elegido con un rol a mencionar y un mensaje personalizable (
{name},{title},{link},{platform}). 1 cuenta seguida gratis, todas con Premium. Seguir una cuenta no anuncia sus vídeos antiguos. - Respuestas automáticas: un disparador (contiene, palabra completa, mensaje exacto o inicio del mensaje), una respuesta, en todos los canales o en uno solo. Se ignoran mayúsculas y acentos, una respuesta nunca menciona @everyone ni un rol, y los mensajes detenidos por los filtros no disparan nada. 5 respuestas gratis, 25 con Premium, 50 con Premium Plus.
Permisos y diagnóstico
Una protección puede estar activada y aun así no hacer nada si le falta el permiso que necesita. El peor caso: el anti-nuke sin Ver el registro de auditoría. Discord no envía entonces ningún evento de auditoría y no se detecta nada.
/diagnostic muestra, módulo por módulo, lo que funciona, lo que está degradado y lo que está fuera de servicio, nombrando el permiso exacto que falta. La jerarquía también se comprueba: un rol demasiado bajo deja inútil «Gestionar roles». Si una protección está fuera de servicio, se avisa al propietario en privado, una sola vez mientras la situación no cambie.
Durante un ataque, si una contramedida falla por falta de permiso (expulsar las cuentas de un raid, neutralizar al autor de un nuke, restaurar el servidor…), el propietario recibe al instante un mensaje privado que le dice qué corregir.
Estado del bot. Protector se reparte en varios «shards», cada uno a cargo de una parte de los servidores. La página Estado de los shards muestra si cada uno responde, y la página de tu servidor indica de qué shard depende: si una protección parece muda, es el primer lugar donde mirar.
Canales privados. Protector no conoce los canales que no ve y no podrá recrearlos exactamente. El permiso Ver canal lo soluciona, pero también da acceso al contenido: es una decisión que hay que tomar canal por canal, con conocimiento de causa.
Aplicación de usuario
Protector se puede instalar en tu cuenta, no solo en un servidor. Te acompaña entonces en tus mensajes privados, grupos y servidores donde el bot no está. Una aplicación instalada en un perfil no recibe eventos de los servidores: son herramientas personales, que no protegen un servidor.
/scan: comprueba un enlace o una imagen antes de hacer clic, con la misma lista de dominios de estafa y el mismo modelo de imagen que en los servidores protegidos. Solo tú ves la respuesta; diez segundos entre dos análisis, treinta con una imagen. Para un enlace, la página también se abre en un navegador aislado en los servidores de Protector, separado de su red interna, que adjunta una captura: ves adónde lleva el enlace sin abrirlo tú mismo.- Denunciar a Protector (clic derecho en un mensaje, Aplicaciones): envía una estafa al equipo. Diez denuncias al día, cada una leída por una persona.
Lista de comandos
/autoconfigConfiguración automática completa./configPanel de configuración interactivo./informationsGuía interactiva de todos los sistemas./diagnosticChequeo de la instalación./verification-setupPortal de verificación./warn /mute /kick /banSanciones de moderación./tempban /unmute /unbanBaneo temporal y retirada de sanciones./historyHistorial de un miembro./clear /slowmodeBorrado masivo, modo lento./lockdown /unlock /panicMedidas de emergencia./backup /restoreCopia y restauración del servidor./wordfilterLista de palabras prohibidas./invites /statsInvitaciones, estadísticas de moderación./info-server /info-user /avatarFichas de información./ticket /suggest /giveawayTickets, sugerencias, sorteos./roles /counters /temproleRoles con botón, contadores, roles temporales./audit /logs /webhookAuditoría, registro persistente y webhook saliente (Premium Plus)./levelTarjeta de nivel de un miembro./scanComprobar un enlace o una imagen./appealApelar una lista negra./support /voteInvitación al servidor de soporte, voto en top.gg.Denunciar…Menús del clic derecho: denunciar el mensaje, el usuario, o a Protector.
Idiomas
El bot y esta web están disponibles en español, inglés, francés y alemán. En Discord se elige en /config, Idioma, y se aplica a todo lo que el bot escribe en el servidor. Una frase aún no traducida se muestra en inglés en lugar de como texto en bruto. En la web, el selector de arriba recuerda tu elección.
Preguntas frecuentes
¿Protector es gratis?
Sí. Toda la protección, la moderación y la gestión son gratuitas. Los planes de pago solo añaden análisis opcionales.
El anti-nuke dice «acción imposible», ¿por qué?
El rol de Protector no está lo bastante alto, o falta un permiso. Colócalo arriba del todo en la lista de roles y ejecuta /diagnostic.
¿La restauración recupera los mensajes?
Recrea los últimos mensajes de texto de cada canal mediante webhook, si la opción está activada en /config, Anti-nuke. El resto del contenido no se conserva.
¿Por qué aparece un módulo en gris en el panel?
O está protegido y no eres ni el propietario ni miembro del rol de seguridad, o requiere un plan Premium que el servidor no tiene.
¿Mis datos están seguros?
Protector solo guarda lo necesario y analiza los mensajes en tiempo real sin conservarlos, salvo los casos descritos en la política de privacidad.
No he encontrado mi respuesta.
Únete al servidor de soporte: el equipo responde a preguntas y comentarios.
