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, ban and purge. Every server sets up its own moderators, and every DM names the server it is about.

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 3 minutes, members get 3 tries, and there is a button for a fresh code. PROTATE deletes the DMs it sends 3 minutes after sending them, so nothing lingers in a member's inbox. 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

The server owner can use all of these, and so can everyone with a role the owner adds with /addmod.

CommandWhat it does
/setupSets the verified role, unverified role and log channel. 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, sends them the reason, and removes them again if they come back. Details below.
/unban userLets a banned member join again.
/banlistShows who is banned. Only you see the reply.
/addmod roleLets everyone with that role use the moderation commands. Server owner only.
/removemod roleTakes that access away from a role.
/modsLists the roles that can use the moderation commands.
/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, and place that role above the roles it should moderate.
  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. Run /addmod with the id of your moderator role so those members can use the commands. The server owner always can. 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. It removes a banned person when they join or speak and checks every server's member list every 15 seconds. They can get back in for a moment, and for as long as PROTATE is offline.