Watchcat - Discord Auto-Moderation
Watchcat es un módulo de Node.js que proporciona funcionalidades de auto-moderación para bots de Discord. Con Watchcat, puedes mantener un ambiente seguro y limpio en tu servidor de Discord mediante la detección y eliminación automática de contenido inapropiado, spam, mensajes duplicados y enlaces no deseados.
Changelog
Versión: 1.0.1
- Optimización Asincrónica
- El método
checkSpam()
ahora es asincrónico (async), mejorando el rendimiento y la velocidad de respuesta del Watchcat ante mensajes no deseados.
- Baneo con Eliminación Automática
- Los baneos por spam y mensajes duplicados ahora incluyen una duración para eliminar automáticamente los mensajes ofensivos, manteniendo el servidor limpio sin intervención manual.
- Opción de Desactivar Baneos
- Se ha agregado una nueva propiedad
disableBan
. Por defecto viene en true, es decir, no baneará a los usuarios.
- Optimización de Caché
- El Watchcat ahora aprovecha la caché para realizar baneos y eliminar mensajes, reduciendo la carga en el servidor y mejorando la velocidad de ejecución.
- Mejoras en el Seguimiento de Spam
- Se han realizado mejoras en el seguimiento de spam, lo que aumenta la precisión y eficiencia en la detección de comportamientos no deseados.
Métodos y Características
-
Filtrado de Palabras: Watchcat puede detectar y eliminar mensajes que contengan palabras específicas definidas por el usuario para mantener un lenguaje apropiado en el servidor.
checkMessage(message)
: Verifica si el mensaje contiene alguna de las palabras filtradas. Si es así, elimina el mensaje.
-
Detección de Spam: Con la función de seguimiento de spam, Watchcat puede imponer una sanción automática a los miembros que envíen mensajes repetitivos en un corto período de tiempo.
checkSpam(userId, guild, message)
: Realiza un seguimiento de los mensajes enviados por un usuario y aplica una sanción de ban si supera el número máximo de mensajes permitidos en el tiempo establecido.
-
Mensajes Duplicados: Watchcat rastrea los mensajes duplicados y aplica acciones de moderación a los miembros que repitan el mismo mensaje varias veces.
duplicateMessageFilter(message)
: Rastrea los mensajes duplicados enviados por un usuario y aplica una sanción de ban si supera el número máximo de mensajes duplicados permitidos en el tiempo establecido.
-
Anti-Enlaces: Watchcat detecta los enlaces en los mensajes y puede eliminarlos, evitando así la divulgación de enlaces no deseados en el servidor.
antiLink(message)
: Detecta los enlaces en el mensaje y elimina el mensaje, aplicando una sanción de ban al usuario que envió el enlace.
Propiedades
-
filterWords
: Un array de palabras que se utilizarán para filtrar mensajes. Los mensajes que contengan alguna de estas palabras serán eliminados.
-
maxMessages
: Número máximo de mensajes que un usuario puede enviar dentro del timeFrame antes de ser sancionado por spam.
-
timeFrame
: Período de tiempo en segundos durante el cual se contabilizarán los mensajes del usuario para detectar spam.
-
duplicateMsgMax
: Número máximo de mensajes duplicados permitidos antes de que se aplique la sanción por enviar mensajes duplicados.
-
duplicateMsgTime
: Período de tiempo en segundos durante el cual se contabilizarán los mensajes duplicados del usuario.
-
spamBanReason
: Mensaje de razón para la sanción de ban en caso de spam. Este mensaje puede ser personalizado por el usuario.
-
duplicateMsgBanReason
: Mensaje de razón para la sanción de ban en caso de mensajes duplicados. Este mensaje puede ser personalizado por el usuario.
-
linkBanReason
: Mensaje de razón para la sanción de ban en caso de envío de enlaces. Este mensaje puede ser personalizado por el usuario.
-
NEW! disableBan
: Permite habilitar o deshabilitar el baneo automático. Valor predeterminado: true (desactivado).
Modo de Uso
Para usar Watchcat en tu bot de Discord, sigue estos pasos:
- Importa la clase Watchcat en tu bot de Discord:
const { Watchcat } = require('watchcat.js');
- Crea una instancia de Watchcat con las opciones personalizadas que desees:
const autoModeration = new Watchcat({
filterWords: ['hi', 'bye', 'bad'],
maxMessages: 5,
timeFrame: 60,
duplicateMsgMax: 3,
duplicateMsgTime: 8,
spamBanReason: 'Detected spamming',
duplicateMsgBanReason: 'Sending duplicate messages',
linkBanReason: 'Sending links',
disableBan: false
});
- En el evento de mensaje de tu bot de Discord, llama a los métodos relevantes de Watchcat para aplicar la moderación:
client.on('messageCreate', (message) => {
autoModeration.checkMessage(message);
autoModeration.checkSpam(message.author.id, message.guild, message);
autoModeration.duplicateMessageFilter(message);
autoModeration.antiLink(message);
});
Ejemplos
const autoModeration = new Watchcat({
filterWords: ['spam', 'badword', 'inappropriate'],
});
client.on('messageCreate', (message) => {
autoModeration.checkMessage(message);
});
const autoModeration = new Watchcat({
maxMessages: 3,
timeFrame: 10,
});
client.on('messageCreate', (message) => {
autoModeration.checkSpam(message.author.id, message.guild, message);
});
const autoModeration = new Watchcat({
duplicateMsgMax: 2,
duplicateMsgTime: 5,
});
client.on('messageCreate', (message) => {
autoModeration.duplicateMessageFilter(message);
});
const autoModeration = new Watchcat();
client.on('messageCreate', (message) => {
autoModeration.antiLink(message);
});
Instalación
Para comenzar a utilizar el paquete Watchcat, instálalo a través de npm:
npm install watchcat.js
Para obtener más información sobre cómo utilizar el paquete y explorar todas sus funciones, háblame a mi Discord jainagam3r45
.