mod-easy

Un modulo que te facilita los comandos de moderación en tu bot.

Usage no npm install needed!

<script type="module">
  import modEasy from 'https://cdn.skypack.dev/mod-easy';
</script>

README

Mod Easy

Crea comandos de moderación para tu bot de una forma mas facíl!

npm npm

Este módulo aún está en construcción :) si encuentras algún bug o tienes problemas con el módulo, no dudes en pedir ayuda en nuestro Servidor de soporte

Instalación

npm i mod-easy

Nota: Ya se arregló el error Cannot find module. Recomendable tener discord.js v13

Información

Función Descripción
findLinks Detecta si un texto contiene enlaces/links.
clearMessages Elimina una cantidad de mensajes. (que sea menor o igual a 5000)
AntiFlood Evita el spam/flood con está función, puedes configurarlo a tu gusto

findLinks

Está función te ayuda a detectar si un texto contiene enlaces.

Parametros Tipo
Texto String

Promise: Boolean

Ejemplo:

const Discord = require("discord.js");
const client = new Discord.Client({ intents: 32767 });
const ModEasy = require("mod-easy");

client.on("messageCreate", (message) => {
  let links = ModEasy.findLinks(message.content);
  if (links) return message.reply("No se permiten links!");
});

client.login("TOKEN_BOT");

clearMessages

Con esta función podrás eliminar hasta 5000 mensajes en un canal

Parametros Tipo
Cantidad Number
Message Object

Promise: Number

Ejemplo:

const Discord = require("discord.js");
const client = new Discord.Client({ intents: 32767 });
const ModEasy = require("mod-easy");

client.on("messageCreate", async (message) => {
  if (!message.content.startsWith("!")) return;

  let args = message.content.slice(1).trim().split(/ +/g);
  let command = args.shift().toLowerCase();

  if (command == "clear") {
    await ModEasy.clearMessages(args[0], message).then((cantidad) => {
      message.reply(`Se han eliminado ${cantidad} mensajes`);
    });
  }
});

client.login("TOKEN_BOT");

AntiFlood

¿Quieres controlar el flood/spam en tu servidor? Gracias a esta función será muy facil hacerlo.

Opciones

Opción Descripción Tipo
limitMessages Limite de mensajes permitidos Number
timeClear Tiempo en el cual se considera spam todos los mensajes enviados Number
ignoreBots Ignorar bots Boolean
ignoreUsers ID's de usuarios que ignorará Array
ignoreChannels ID's de canales que ignorará Array
onWarn Mensaje de advertencia Function
onLimitExceed Cuando exceda el limite de mensajes permitidos Function

Funciones

Datos Descripción
Start Comienza la función anti-flood

Ejemplo:

const Discord = require("discord.js");
const client = new Discord.Client({ intents: 32767 });
const ModEasy = require("mod-easy");

const AntiFlood = new ModEasy.AntiFlood({
  limitMessages: 7,
  timeClear: 5000,
  ignoreBots: true,
  ignoreUsers: ["734160399703998555", "879909023070183484"],
  ignoreChannels: ["882374755561373766"],
  onWarn: (message) => {
    message.reply("No hagas flood/spam!");
  },
  onLimitExceed: (message) => {
    message.member.ban().then(() => {
      message.channel.send(
        `${message.author.tag} ha sido baneado por hacer flood/spam`
      );
    });
  },
});

client.on("messageCreate", async (message) => {
  AntiFlood.start(message);
});

client.login("TOKEN_BOT");