dspamdetector
v1.3.5
Published
Detect spam in a message.
Downloads
23
Maintainers
Readme
Un npm para detectar mensajes de spam totalmente configurable.
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