Moderation Master Tutorial
A heavy breakdown on the Moderation Plugin (lots of scrolling here, check the sidebar!)
Last updated
A heavy breakdown on the Moderation Plugin (lots of scrolling here, check the sidebar!)
Last updated
You might need Discord Developer Mode on to get ID's and such!
Key words:
Boolean:
A true
or false
switch
String:
An assortment of "text"
or "numbers"
like this
Numbers:
Just numbers!
Array:
Strings or Numbers["in", "a", "pattern", "like", "this"]
Here we'll go over the Moderation setup in its entirety, with brief (or not so brief!) explanations and descriptions on things.
I made sure to separate everything the best possible so that the sidebar has a quick reference to what you're looking for.
If you think something is missing, or needs a bit more work, then make sure to leave us a note at
Default: '804354024048427009',
A String
statement, this is the thing that prevents your moderators themselves from being punished by Athena. Anyone with this role or higher is immune from moderation actions.
You theoretically could leave it blank, but we don't recommend it. It could break things.
Example:
We have a Owner role with ID 11111, Senior Staff role at ID 22222, Staff role at 33333, and a member role at ID 44444
"punishment_whitelist": 33333
causes any roles including itself and higher to be immune from moderation actions, while keeping the member role vulnerable to moderation actions.
Default: [ "884573835205148692", "804354028419022888" ],
An Array
statement, this controls what roles get their writing privileges revoked in the server when using /lock
, with it functioning like a pseudo-mute role. With it being an Array
, you can set up multiple roles to do the job simultaneously.
You could leave it blank and not have an issue typically, but we recommend being cautious. It can vary by plugin, and some plugins might require at least something entered in. If it breaks or stops working, just fill it in and you'll be okay.
Example:
We have a Owner role with ID 11111, Senior Staff role at ID 22222, Staff role at 33333, Member role at ID 44444, Locked role at 55555, and New Member Role at 66666.
"punishment_whitelist": 55555
causes the Locked role to be assigned as a write-denied role when using /lock, leaving the rest intact.
Global Punishments are a new feature in Athena! This allows you to submit a ban across multiple servers when you attach a proof image, giving the ability to other server staff to ban them according to your proof! Without proof, bans are done just locally!
Default: true,
A simple Boolean
statement, this lets you choose if you want to send ban information to the API regarding bans.
It has to be either true
or false
, so there's no leaving it blank!
Usage:
On false
, the bans never send, meaning all bans with proof are just at local-level.
On true
, the bans are sent to Iynx Development, meaning others globally can see the ban.
Default: true,
A simple Boolean
statement, this lets you choose if you want to receive ban information from the API regarding bans.
It has to be either true
or false
, so there's no leaving it blank!
Usage:
On false
, the bans are never received, meaning you won't get any bans from external sources in your server.
On true
, the bans are received, and are posted in the appropriate set-up channel, allowing interaction from other server members.
Mute roles can be applied to people instead of relying on Discord's Timeout feature if you want! This can help deal with how Discord Timeouts affect people's usage of buttons, dropdowns, etc.
Usage:
It has to be either true
or false
, so there's no leaving it blank!
On false
, the role based mute system is disabled entirely.
On true
, Athena will activate the role based mute, however, Athena will only apply the role, it does not configure the role to do it's job of muting people. That part is up to the user (you!) to configure in the roles/channels manually.
The role_id
is what it says it is, the ID for the role that is being made into the mute role. Note, it is not an Array
, it takes a single role only.
Another Athena feature, this allows Athena to automatically punish users based on how many warnings they have accumulated. There's complete freedom on how many warnings someone needs, what their automatic punishments may be, and if their punishments reset over time or not.
Violations: represents the number of warnings the user must get in order for this punishment to be applied.
For example, if you want someone to be punished with a mute that lasts for a day after 3 warnings, you would configure it like this.
(This would mute someone after 3 violations, for 1 day, and not reset their violations.)
Type: represents the punishment type. It can be either MUTE
, KICK
, or BAN
.
Let's say a user's been persistently breaking the rules, and they've had a handful of warnings already, and let's assume you wanted to permanently ban them after 5 warnings, you'd configure it like this.
(This would ban someone after 5 violations, for 1 day, but not reset their violations.)
Duration: represents the length of the punishment.
Let's say you have a user that has been banned prior, so they've kept their log of warnings in the database. If you wanted to mute them for even longer than the first time they got muted, you can easily change the duration.
(This would mute someone after 10 violations, for 7 days, but not reset their violations.)
Reset: represents whether after this punishment was applied the violation count should be reset to 0.
Let's assume you're super forgiving to people, and you had someone temp banned from your server for a week, but you also didn't want them to keep a record on themselves after rejoining, you can configure Athena to reset their violation count after a certain threshold.
(This would ban someone on the 15th violation, for 7 days, but also reset their violation counter.)
The best part is, you can make a sliding scale this way, AKA you can have multiple automatic punishments set up in a row simply by adjusting the config like so:
Now you don't have to exactly tell people you punished them, you can just let Athena take care of it for you! Athena can automatically send a DM to whoever it is got punished by it, with the punishment description, length, and type!
Usage:
It has to be either true
or false
, so there's no leaving it blank!
On false
, Athena will not message users.
On true
, Athena will message users automatically with punishment details.
Automod is arguably the biggest thing to configure here! With multiple settings, there's a lot of things to customize here. I'll go over it as much as possible.
Pretty simple, this toggles whether it's on or off.
It has to be either true
or false
, so there's no leaving it blank!
On false
, Automod will be off.
On true
, Automod will be on.
This configures what roles should be immune to the Automod. It is hierarchical, meaning the role itself and higher are immune to Automod. It's an Array
statement, so...
You theoretically could leave it blank, but we don't recommend it. It could break things.
This configures whether tickets are ignored from Automod.
It has to be either true
or false
, so there's no leaving it blank!
On false
, tickets will be subjected to Automod rules.
On true
, tickets will be ignored by Automod.
If you're not a fan of certain channels having Automod, don't worry, you can assign them with this section. This will effectively make Athena ignore them.
This is an Array
and an optional feature, so you could leave this blank with just [ "" ]
and you'll be okay.
The more powerful form of Channel Whitelisting, Category Whitelisting excludes any channels inside that category!
Same as above, this is an Array and an optional feature, so you could also leave it blank the same way like the other one.
Here is where we get into the details that drives Automod and how it functions on a deeper level, things could get a bit complicated here, or maybe not!
Personally, regex is out of my depth, but there's lots of resources online to make rules for regex than I could ever explain in any degree here! But what I do know is that you can configure Athena to pick up on certain phrases or words or even links and IPs! There's multiple things to this category and we'll go over them a bit.
This is what the initial configuration looks like for a regex rule:
Name: Represents the name of the rule. Can be changed to whatever you want, because this is what reflects on the Automod log as the reason for the punishment.
Regex: Represents what the Automod filter would be looking for. Basically, if you set a simple word as the regex, it would look for anything that matches that word, unless you went a little more in detail and set up wildcards, expressions, etc.
Warn: Represents whether the Automod will warn someone for the message that was caught. This is a toggleable option, which means you're able to set it to true
or false
to warn or simply delete and log respectively.
For example: If you wanted to warn someone for saying the word potato, you'd set it up like this:
As simple as it can get, a spam mention warn system.
This is what the initial configuration looks like for this rule:
Pretty simple, this toggles whether it's on or off.
It has to be either true
or false
, so there's no leaving it blank!
On false
, Mention spam filtering will be off.
On true
, Mention spam filtering will be on.
Name: Represents the name of the rule. Can be changed to whatever you want, because this is what reflects on the Automod log as the reason for the punishment.
Max Mentions: Represents how many mentions one person can do in a message before getting warned.
Warn: Represents whether the Automod will warn someone for the message that was caught. This is a toggleable option, which means you're able to set it to true
or false
to warn or simply delete and log respectively.
For example: If you wanted to warn someone for sending 5 mentions, you'd set it up like this:
Another simple section, this handles spam messages.
This is what the initial configuration looks like for this rule:
Pretty simple, this toggles whether it's on or off.
It has to be either true
or false
, so there's no leaving it blank!
On false
, Repeat Message filtering will be off.
On true
, Repeat Message filtering will be on.
Name: Represents the name of the rule. Can be changed to whatever you want, because this is what reflects on the Automod log as the reason for the punishment.
Max Message Repeat: Represents how many times a message can be repeated before being deleted and warn logged.
Warn: Represents whether the Automod will warn someone for the message that was caught. This is a toggleable option, which means you're able to set it to true
or false
to warn or simply delete and log respectively.
For example: If you wanted to warn someone for sending 5 same messages in a row, you'd set it up like this:
Final section! Another simple one thankfully! This just looks for words that you don't want said in your server.
This is what the initial configuration looks like for this rule:
Pretty simple, this toggles whether it's on or off.
It has to be either true
or false
, so there's no leaving it blank!
On false
, Blacklisted Words filtering will be off.
On true
, Blacklisted Words filtering will be on.
Name: Represents the name of the rule. Can be changed to whatever you want, because this is what reflects on the Automod log as the reason for the punishment.
Blacklisted Words: Represents what words are blocked from being said in chat.
Warn: Represents whether the Automod will warn someone for the message that was caught. This is a toggleable option, which means you're able to set it to true
or false
to warn or simply delete and log respectively.
For example: If you wanted to warn someone for saying 'stupid' in chat, you'd set it up like this:
You're all done here! Now you can move onto other plugins and see how they work!