Antispammer
Antispammer allows you to check if a user is spamming, which is set through a threshold of uses in an amount of time. You get to set what happens if the user is spamming and what happens when they aren't. Input a user by ID every time they do something to allow this to happen!
Usage:
Install:
npm install antispammer
const antispam = require('antispammer');
Methods:
check:
antispam.check(
id,
timeout,
threshold,
notSpamming,
spamming
);
Adds a use by a user and tests for spamming with set thresholds.
clear:
antispam.clear(
id
);
Clear the user from the spammer list.
has:
antispam.has(
id,
threshold
);
Checks if the user is on the spam list. Returns a boolean.
Properties:
list:
antispam.list
Get the entire list of user IDs as an array.
Example:
const antispam = require('antispammer');
var user = 123;
function notSpamming() {
console.log(`${user} is not spamming!`);
}
function spamming() {
console.log('Stop spammer!');
}
for (i=0;i<6;i++) {
antispam.check(user, 30000, 4, notSpamming, spamming);
if (antispam.has(user, 5)) {
antispam.clear(user);
}
}
console.log(antispam.list);
Expected Output:
123 is not spamming!
123 is not spamming!
123 is not spamming!
123 is not spamming!
Stop spammer!
Stop spammer!
[ 123, 123, 123, 123 ]