1.0.1 • Published 11 months ago

watchcat.js v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

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

  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.
  2. 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.
  3. Opción de Desactivar Baneos
    • Se ha agregado una nueva propiedad disableBan. Por defecto viene en true, es decir, no baneará a los usuarios.
  4. 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.
  5. 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:

  1. Importa la clase Watchcat en tu bot de Discord:
const { Watchcat } = require('watchcat.js');
  1. 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
});
  1. 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.js

Para obtener más información sobre cómo utilizar el paquete y explorar todas sus funciones, háblame a mi Discord jainagam3r45.