Verification
Press Verify in the server
A moderator posts the Verify card once with /verifysetup. Members who already have the role are told so and nothing else happens.
Get a code by DM
PROTATE sends a DM that names your server. Pressing its button shows a random six-character code.
Type the code back
A correct code gives them your verified role, removes the unverified one if you use it, and goes in your log.
Codes expire after 5 minutes, members get 3 tries, and there is a button for a fresh code. The role only matters if your channels use it, so make your main channels visible to Verified and leave one verify channel open to everyone.
AutoMod
Every message is checked for:
- words on your banned list
- server invite links
- more than 5 mentions in one message
- 12 or more letters that are mostly capitals (over 80%)
- 5 messages in 6 seconds from one member
A message that breaks a rule is deleted. The member gets a warning and a DM explaining why, and it goes in your log. Your moderators are never checked.
It repeats at every third warning after that.
Commands
Anyone with a role above PROTATE's own role can use these, and so can people the server owner adds with /addmod. Members whose roles are below it cannot.
| Command | What it does |
|---|---|
| /setup | Sets the verified role, unverified role, log channel, and whether roles above the bot can moderate. Run it with nothing filled in to see what is set. |
| /verifysetup | Posts the Verify card in the current channel. |
| /warn user, reason | Adds a warning and sends the member a DM. |
| /warnings user | Shows a member's last ten warnings. Only you see the reply. |
| /clearwarnings user | Clears a member's warnings. |
| /timeout user, minutes, reason | Stops a member talking for up to 28 days. |
| /untimeout user | Ends a timeout early. |
| /kick user, reason | Removes a member after sending them the reason. |
| /ban user, reason | Removes the member and keeps them out. Details below. |
| /unban user | Lets a banned member join again. |
| /banlist | Shows who is banned. Only you see the reply. |
| /addmod user | Lets someone use the moderation commands in your server. |
| /removemod user | Takes that access away. |
| /mods | Lists the moderators you have added. |
| /whoami | Tells anyone whether the bot treats them as a moderator. Only they see the reply. |
| /purge count | Deletes the last 1 to 100 messages in the channel. |
Setting it up
- Add PROTATE to your server from Discover. You need the Manage Server permission.
- Give its role Kick Members, Manage Messages and timeout. Put your moderator roles above PROTATE's role and everyone else below it: roles above it can use the commands, roles below it cannot.
- Make a Verified role, and an Unverified role if you want one. Set your main channels to Verified only.
- Run
/setupwith the verified role's id and pick a log channel. Roles are entered by id for now. - Add your moderators with
/addmod. Settings, warnings and bans are kept separately for each server. - Run
/verifysetupin the channel where people should verify.
What it does not do
No image captcha
The code is plain text. It stops raids and people who skip steps, but a script that reads DMs could copy it.
Bans are kept by the bot
Jaxcord's bot API has no ban, so PROTATE keeps its own list and removes banned people whenever they join or speak. Someone could get in briefly while PROTATE is offline.