All posts

Moderation

How to set up a Discord warning system with auto-punishments

Set up a warn system in Discord with expiring warnings, notes and escalating thresholds that automatically mute, kick or ban repeat offenders.

Warnings only work if they add up to something. A good warning system tracks offences over time and escalates automatically, so the third strike doesn't depend on which moderator happens to be online. Skipper's warn system does exactly that.

Where to find it

Run /config Category Moderation Moderation (General Moderation) Warn System. Who can actually use the warn and unwarn commands is set under the same module's Permissions option.

Step 1: Decide how warnings age

  • Active Duration: how long each warn stays "active", from Permanent (the default) up to 3 years. Set this if you want old warnings to stop counting after a while.
  • Default Timeout: an automatic timeout applied on every warn, from 1 minute up to 28 days. Leave it off if you only want punishments at thresholds.

Step 2: Add escalating thresholds

This is the heart of the system. Choose Add Threshold, pick a warn count (1 to 20), then Edit Threshold to attach an action:

  • Mute for a set duration (up to 28 days)
  • Kick
  • Ban, permanent or for a duration
  • Add Roles, Remove Roles, or Reset Roles

For example: 3 warns 1-hour mute, 5 warns kick, 7 warns ban. When a member hits that many active warnings, Skipper applies the action on its own.

Step 3: Tune what members see

The warns command output is configurable:

  • Hide Moderator: keep the issuing mod's name private.
  • Show Note: display the latest note on a warning.
  • Show Threshold: show the next punishment coming up (as text, an emoji, or both).
  • Learn More: add an explainer button.
  • Clear Unban: wipe a user's warns when they're unbanned.

Tips & gotchas

  • Threshold actions are exclusive. Setting a ban clears any kick or role action on that same threshold, so pick one outcome per level.
  • You can add up to 20 thresholds, each at a distinct warn number.
  • Add Roles refuses roles with dangerous permissions, and any role action needs Skipper's role to sit above the target role.
  • By default warnings are permanent and there's no timeout, so set Active Duration and Default Timeout if you want either.
  • Assign roles under Permissions for the warn and unwarn commands, or only members with Discord's native permissions (and admins) can use them.

See the Moderation documentation for the full reference, or browse every moderation command in the command list. Ready to lock it in? Add Skipper to your server and run /config.

Ready to try Skipper?

Add the all-in-one Discord bot to your server in seconds.

Add to Discord