watchcat.js
v1.0.1
Published
A powerful NPM module for automoderation and spam prevention in Discord servers.
Maintainers
Readme
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.
- El método
- 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.
- Se ha agregado una nueva propiedad
- 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
- Filtrado de Palabras:
const autoModeration = new Watchcat({
filterWords: ['spam', 'badword', 'inappropriate'],
});
client.on('messageCreate', (message) => {
autoModeration.checkMessage(message);
});- Detección de Spam:
const autoModeration = new Watchcat({
maxMessages: 3,
timeFrame: 10,
});
client.on('messageCreate', (message) => {
autoModeration.checkSpam(message.author.id, message.guild, message);
});- Mensajes Duplicados:
const autoModeration = new Watchcat({
duplicateMsgMax: 2,
duplicateMsgTime: 5,
});
client.on('messageCreate', (message) => {
autoModeration.duplicateMessageFilter(message);
});- Anti-Enlaces:
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.jsPara obtener más información sobre cómo utilizar el paquete y explorar todas sus funciones, háblame a mi Discord jainagam3r45.
