PROTATE

Moderation and verification for Jaxcord servers.

PROTATE checks new members with a code sent to their DMs, removes spam and rule-breaking messages as they come in, and gives your moderators warn, timeout, kick and purge.

To add it, open Discover, then Bots in Jaxcord, find PROTATE and add it to a server you manage. Setup is below.

This is the DM a new member gets. Try it, nothing is sent.

PROTATE

Verification

1

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.

2

Get a code by DM

PROTATE sends a DM that names your server. Pressing its button shows a random six-character code.

3

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.

3 warnings, then a 10 minute timeout.

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.

CommandWhat it does
/setupSets 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.
/verifysetupPosts the Verify card in the current channel.
/warn user, reasonAdds a warning and sends the member a DM.
/warnings userShows a member's last ten warnings. Only you see the reply.
/clearwarnings userClears a member's warnings.
/timeout user, minutes, reasonStops a member talking for up to 28 days.
/untimeout userEnds a timeout early.
/kick user, reasonRemoves a member after sending them the reason.
/ban user, reasonRemoves the member and keeps them out. Details below.
/unban userLets a banned member join again.
/banlistShows who is banned. Only you see the reply.
/addmod userLets someone use the moderation commands in your server.
/removemod userTakes that access away.
/modsLists the moderators you have added.
/whoamiTells anyone whether the bot treats them as a moderator. Only they see the reply.
/purge countDeletes the last 1 to 100 messages in the channel.

Setting it up

  1. Add PROTATE to your server from Discover. You need the Manage Server permission.
  2. 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.
  3. Make a Verified role, and an Unverified role if you want one. Set your main channels to Verified only.
  4. Run /setup with the verified role's id and pick a log channel. Roles are entered by id for now.
  5. Add your moderators with /addmod. Settings, warnings and bans are kept separately for each server.
  6. Run /verifysetup in 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.