A simple module with quick setup and different options to implement anti-spam features in your bot.
To install this module type the following command in your console:
npm i discord-anti-spam
You can see the package documentation here.
Example of a basic bot handling spam messages using this module.
const { Client, GatewayIntentBits, Partial } = require("discord.js");
const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages],
partials: [Partials.Channel],
});
const AntiSpam = require("discord-anti-spam");
const antiSpam = new AntiSpam({
warnThreshold: 3, // Amount of messages sent in a row that will cause a warning.
muteTreshold: 6, // Amount of messages sent in a row that will cause a mute.
kickTreshold: 9, // Amount of messages sent in a row that will cause a kick.
banTreshold: 12, // Amount of messages sent in a row that will cause a ban.
warnMessage: "Stop spamming!", // Message sent in the channel when a user is warned.
muteMessage: "You have been muted for spamming!", // Message sent in the channel when a user is muted.
kickMessage: "You have been kicked for spamming!", // Message sent in the channel when a user is kicked.
banMessage: "You have been banned for spamming!", // Message sent in the channel when a user is banned.
unMuteTime: 60, // Time in minutes before the user will be able to send messages again.
verbose: true, // Whether or not to log every action in the console.
removeMessages: true, // Whether or not to remove all messages sent by the user.
ipwarnEnabled: false, //whether to delete ip addresses in channels or not.
ignoredPermissions: [PermissionFlagsBits.Administrator], // If the user has the following permissions, ignore him.
// For more options, see the documentation:
});
client.on("ready", () => console.log(`Logged in as ${client.user.tag}.`));
client.on("messageCreate", (message) => antiSpam.message(message));
client.login("YOUR_SUPER_SECRET_TOKEN");
Join our Support Server where we help you with issues regarding the module.
If you have any bugs or trouble setting the module up, feel free to open an issue on Github
Copyright © 2019 Michael-J-Scofield
This project is MIT licensed.