Niveles y experiencia
Cada mensaje escrito en un canal da entre 15 y 25 XP, al azar. Solo se
cuenta una ganancia por minuto y por miembro: escribir diez mensajes seguidos no da
más que uno solo. Los bots, los mensajes privados y los mensajes de sistema (llegadas, anclajes) no
dan nada.
Pasar del nivel L al siguiente cuesta 5 × L² + 50 × L + 100 XP. El coste sube
por tanto en cada escalón, y solo se guarda el XP total: el nivel se deduce de él.
La última columna supone una conversación normal, con la ganancia media. Da el orden de magnitud, el tiempo real depende de cuánto se espacien los mensajes, ya que el contador solo retiene una
ganancia por minuto.
En cada subida de nivel, el bot responde en el canal donde se escribió el mensaje.
El anuncio se ajusta desde el panel: embed o texto simple, título, descripción, color, y las
variables {level} y {xp} además de las habituales. Un canal donde el bot no puede
escribir no bloquea nada: el nivel se gana, solo se abandona el anuncio.
El módulo está activo por defecto. Apagarlo detiene las ganancias y los anuncios
sin borrar nada: la clasificación permanece en la base y vuelve intacta al reactivarlo. Para
corregir un caso concreto, /xp añade, quita o fija el XP de un
miembro; /rank y
/leaderboard muestran el resultado.
Sanciones, historial y notas
Toda sanción dictada por el bot queda registrada: baneo, baneo temporal, expulsión, aislamiento,
advertencia, e incluso los levantamientos (desbaneo, retirada de advertencia). Cada una recibe su
código de doce caracteres.
El orden de las operaciones no es casual. El mensaje privado sale antes de la
sanción, tras un baneo, el bot ya no comparte servidor con la persona y no podría escribirle. El
registro, por su parte, precede a la llamada a Discord para disponer del código; si Discord rechaza
la acción, el registro se anula y no queda ninguna sanción fantasma en el expediente.
Un baneo temporal programa su propio levantamiento. Al vencer, el bot comprueba que un moderador no
haya vuelto a aplicar el baneo entretanto: si es así, no lo levanta. Un /ban
definitivo dictado durante ese plazo anula el levantamiento programado.
Las notas (/note, 25 por sanción) nunca se muestran al
miembro afectado: sirven al diálogo entre moderadores, meses más tarde, cuando nadie recuerda el
contexto.
Protección en la entrada
Tres mecanismos independientes, que se acumulan o se usan por separado:
-
El captcha: al llegar, el miembro debe resolver una prueba para obtener su rol.
Por defecto: 3 intentos, 5 minutos, expulsión si falla. La
solicitud va por mensaje privado; si el miembro tiene los suyos cerrados, el bot crea un canal de
verificación temporal en la categoría que hayas designado, visible solo para él y borrado después.
-
La verificación por el sitio: el miembro pulsa un botón, termina en el sitio y
recupera su rol al volver. Aquí el bot no concede nada por sí mismo: es el sitio el que comprueba
la identidad ante Discord y después asigna el rol.
-
El anti-raid: no apunta al individuo sino al flujo. Pasadas
8 llegadas en 10 segundos (valores por defecto), alerta, pone en
cuarentena o expulsa. El filtro de antigüedad de la cuenta deja pasar a los habituales atrapados
en la oleada.
El rol de cuarentena es lo que tienen los tres en común: puesto a la llegada,
limita lo que el recién llegado puede ver y hacer, y se retira una vez superada la verificación.
Mientras esté ahí, mantienes el control, nada impide desbloquear a alguien a mano.
Tickets
Un panel publicado en un canal, 25 tipos de solicitud como máximo (el límite de un menú
desplegable de Discord), y para cada uno: su emoji, su color, su mensaje de bienvenida, su
formulario de apertura y el equipo que tiene acceso. La apertura crea un canal privado entre quien
lo pide y ese equipo. Al cerrarlo, la conversación se archiva en HTML en el canal de archivos, el
intercambio sigue siendo consultable una vez borrado el canal.
Música y roles DJ
La reproducción se apoya en una infraestructura de audio dedicada. Si no está
disponible, los comandos de música lo dicen y todo el resto del bot sigue funcionando.
Los comandos que controlan una reproducción en curso (/pause, /resume, /stop, /loop, /volume) están
reservados a los DJ. Es DJ: el propietario del servidor, un administrador, un miembro con «Gestionar
servidor», o un miembro con un rol añadido mediante
/dj add. Mientras no haya ningún rol DJ configurado, estos
comandos responden por tanto solo a esos tres perfiles. Los roles de staff son una
lista distinta: no conceden el estatus de DJ.
Los comandos de consulta (/queue, /nowplaying, /lyrics) y
añadir títulos (/play) siguen abiertos a todos.
Sorteos
Duración admitida: de 10 segundos a 28 días, escrita libremente
(30m, 1h30m, 2d). Hasta 20 sorteos en curso y
20 ganadores por sorteo.
El sorteo lo realiza siempre el bot, nunca el sitio: solo él puede comprobar, en el momento del
sorteo, que los ganadores siguen en el servidor y tienen el rol exigido en la inscripción. Si nadie
se presenta, /giveaway reroll vuelve a sortear.
Registros
21 tipos de eventos, repartidos en 5 categorías (Mensajes, Miembros, Moderación, Voz, Servidor),
activables uno por uno. Cada categoría puede apuntar a su propio canal: la moderación por un lado,
los mensajes por otro.
El contenido de los mensajes nunca se almacena en la base. Cuando se borra un
mensaje, el bot publica un embed en el canal que hayas designado, eso es todo lo que ocurre. Una
acción hecha por el propio bot (un baneo con /ban) se registra una sola vez, en el
registro de moderación que nombra al moderador.
Copias de seguridad
Una copia fotografía la estructura del servidor (roles, canales, permisos) y
devuelve un código privado, enviado por mensaje privado. Se conservan 3 copias por
propietario. No contiene ningún mensaje: no es un historial de conversación. El
código permite restaurar esa estructura en el servidor actual, y por tanto también clonar un
servidor importándolo en otro sitio.
Canales de voz temporales
Entrar en el canal disparador crea un canal del que el miembro es propietario: puede renombrarlo,
limitar su acceso o fijar su capacidad. El canal desaparece en cuanto se vacía, sin nada que
limpiar.