When you first invite iab into your server, you need to make a few decisions:
- Do you want iab to use its Protect module? Protect will jail users who do various annoying things.
- Do you want iab to allow users to assign roles to themselves?
Once you've made those, you have to actually do the setup. Thanks to the wonders of the web, I can give you a guide based on each number.
1: iab!Protect Setup
This is going to be a wild ride because you have to make more decisions.
- Do you want iab to jail users who spam mentions?
- Do you want iab to jail users who say specific words?
- Do you want iab to jail users whose accounts are new (possibly ban evasion)?
- Do you want iab to ban users who leave the server while jailed (jail evasion)?
If you answered any of these questions with 'yes,' please check section 1.0 Prison Setup.
1.0 Prison Setup
iab can jail users who meet certain criteria. This jail exists as a text channel and a server role. The jail can be created with the command iab!protect prison create . This will create a text chat named iab-prison and a role named iab's prisoner.
A quick note about the iab's prisoner role. Do not put this role above iab's role, or above the member role. This will inhibit iab's ability to imprison users, leading to the Protect system being useless. iab cannot manage users with their highest role higher than its own.
1.1 Mention Mitigation
Mention Mitigation is a system that jails users who mention too many users in a short timeframe. There are two settings for MM: The threshold and the timespan. The threshold represents the number of mentions a user must surpass in the timespan to be jailed. Its default value is 30. A few notes should be made on how users are scored:
- A single-user ping is scored as 1 point (replies will trigger this increment).
- @here pings are considered as 10 points.
- @everyone pings are considered as 15 points.
Likewise, the timespan is how long (in seconds) that messages should be considered. Its default value is 60 seconds.
1.2 Banned Words
iab can punish users who use certain words. The method of punishment is determined by the bwmethod setting. Its values are as follows:
- Delete the message.
- Ask the user to edit their message (requested)
- Imprison the user. For servers where the banned words are entirely unacceptable.
To set the banned words, use iab!settings set bannedwords (words) where (words) is a comma-separated list of words to ban. iab will automatically replace like symbols to their closest letters in order to stop simple circumvention. For example, these will all match the word 'mathematics':
- math e matics
iab can stop new users from joining your server. The idea is to stop people from evading bans by creating new accounts. It's worth noting that this only imprisons the user, so you can allow them in by unjailing them (iab!free).
Anti-Alt is commanded by two settings: aaThreshold and aaEnabled. aaThreshold is the number of days an account must be before it is automatically jailed. For example, with a threshold of 30, accounts older than a month will be allowed in, but accounts younger will be jailed.
Intuitively, aaEnabled determines whether or not the system is enabled. To set these, use
iab!antiraid set aaEnabled true/false and
iab!antiraid set aaThreshold 30
iab by default will ban users who leave the server with the prisoner role (should it exist). If you do not want this to happen, use iab!antiraid set prAC false
This page will be updated later with more information.
2: Self Roles Assignment
iab can allow users to assign roles to themselves through the Reaction Roles command. It's important to note that these roles must all be below iab's highest role or iab will not be able to assign them.
To use the command, use iab!reactionroles. There's a very specific format to use it as of current, though:
iab!reactionroles !TITLE (newline, use SHIFT+ENTER)
:emote: @role Identifier (you can do multiple if you use a newline
:twitch: @Streams Stream Notifications
:iab: @iab iab Updates
:coalescence: @coalescence Join Coalescence
would create a role menu with 3 roles.