dspamdetector

1.3.5 • Public • Published

Logo Un npm para detectar mensajes de spam totalmente configurable. Creador

Instalación

Antes de instalarlo, debe tener instalado Node.js La instalación se realiza mediante el comando de instalación npm:

$ npm install dspamdetector --save

Características

  • Mínimo de letras para que lo analice(si el mensaje no supera el limite nunca lo detectara como spam).
  • Mínimo de palabras.
  • Máximo de mayúsculas.
  • Prohibir palabras
  • Máximo de letras repetidas en relación a la longitud del texto.
  • Detecta flood.
  • Actualizaciones constantes.

Opciones

  • minletters: Esta opcion es para determinar el numero de caracteres que debe tener el string para detectarlo (isSpam)
  • minwords: Esta opcion es para determinar el numero de palabras que debe tener el string para detectarlo (isSpam)
  • maxpercentcaps: Esta opcion es para determinar el porcentaje maximo de letras en mayusculas que puede haber (isSpam)
  • maxpercentletters: Esta opcion es para determinar el porcentaje de caracteres maximo que puede haber en el string (isSpam)
  • blockedwords: Esta opcion es para determinar las palabras que el detector determinara como spam directamente (isSpam)
  • floodt: Esta opcion es para determinar el tiempo maximo en el que pueden mandar floodml mensajes (isFlood)
  • floodml: Esta opcion es para determinar el numero de mensajes maximo que pueden mandar en floodt segundos (isFlood)

Ejemplos

Ejemplo 1: Petición básica

const spamdetector = require("dspamdetector")
let opciones = {
                    minletters:5,
                    minwords:0,
                    maxpercentcaps:15,
                    maxpercentletters:60,
                    blockedwords:[]
                }
let detector = new spamdetector.detector(opciones)
let texto = "¿Hola que tal estás?"
console.log(detector.isSpam(texto)) // Si has puesto las mismas opciones, debería devolverte FALSE, es decir, que no es spam.

Estas usando Discord.js?

Ejemplo 1: Filtro Anti-Spam usando Discord.js

const Discord = require('discord.js');
const client = new Discord.Client();
const spamdetector = require("dspamdetector")
let opciones = {
                    minletters:5,
                    minwords:0,
                    maxpercentcaps:15,
                    maxpercentletters:60,
                    blockedwords:[]
                }
let detector = new spamdetector.detector(opciones)

client.on("message", message => {
detector.isSpam(message.content).then(resultado => {
    if(resultado == true) {
        message.channel.send('Su mensaje ha sido considerado como spam.')
        message.delete()
    }
})
})

Ejemplo 2: Filtro Anti-Flood usando Discord.js

const Discord = require('discord.js');
const client = new Discord.Client();
const spamdetector = require("dspamdetector")

let opciones = {
                    floodt:60, //limite de segundos
                    floodml:3 //limite de mensajes
                }
let detector = new spamdetector.detector(opciones)

client.on("message", message => {
    //El 3 son el limite de mensajes y el 60 es cada cuanto tiempo por ejemplo si yo escribiera en menos de 1 minuto 3 mensajes el npm te dira que es spam
    if(message.author.bot) return //esta linea no es obligatoria pero al no ponerla el bot entrara en bucle ya que detectara sus propios mensajes como spam o borrara los mensajes de otros bots si los manda muy rapido
detector.isFlood(message.author.id,message.guild.id,message.channel.id).then(resultado => {
    if(resultado == true) {
        message.channel.send('Su mensaje ha sido considerado como flood.')
        message.delete()
    }
})
})

setOptions

Esta función sirve para cuando te equivocas poniendo las opciones o si quieres cambiarlas

const spamdetector = require("dspamdetector")
let detector = new spamdetector.detector() //Esto iniciaria el detector con las opciones por defecto
detector.setOptions({
                        minletters:2,
                        minwords:5,
                        maxpercentcaps:30,
                        maxpercentletters:80,
                        blockedwords:["hey"],
                        floodml:7,
                        floodt:120
                    }) // no recomiendo usar estas opciones, son solo un ejemplo

Aclaracion

Aunque en los ejemplos en las opciones no esten todas juntas puedes ponerlas todas juntas y solo tener un detector asi:

const Discord = require('discord.js');
const client = new Discord.Client();
const spamdetector = require("dspamdetector")

let opciones = {
                    minletters:5,
                    minwords:0,
                    maxpercentcaps:15,
                    maxpercentletters:60,
                    blockedwords:[],
                    floodt:60,
                    floodml:3
                }
let detector = new spamdetector.detector(opciones)

client.on("message", message => {
    if(message.author.bot) return
detector.isSpam(message.content).then(resultado => {
    if(resultado == true) {
        message.channel.send('Su mensaje ha sido considerado como spam.')
        message.delete()
    }
})
detector.isFlood(message.author.id,message.guild.id,message.channel.id).then(resultado => {
    if(resultado == true) {
        message.channel.send('Su mensaje ha sido considerado como flood.')
        message.delete()
    }
})
})

Creado por: Discord Safe

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.3.5
    1
    • latest

Version History

Package Sidebar

Install

npm i dspamdetector

Weekly Downloads

2

Version

1.3.5

License

ISC

Unpacked Size

13.9 kB

Total Files

3

Last publish

Collaborators

  • seyronh