← Back to Docs

// Guide

Moderation & Automod

Auto-softban anyone who posts in a designated trap channel, and permanently ban users who spam the same message across multiple channels.

TierFree
You'll needThe bot's role has Ban Members and sits above members it must action.

StarBot's automod adds two opt-in rules. Both are off by default and both share the same exemptions. Configure them on the Moderation card in the Features tab of your guild's dashboard (toggle it on, then click Configure), or with /config-modadmin in Discord.

Prerequisite

StarBot's role must have the Ban Members permission and sit above the members it needs to action in your role list. If it can't ban a user, the action is skipped and logged to your mod-log channel.

The Moderation modal at a glance

Guild Dashboard — Moderation
FeaturesPermissionsServer StatsAnalyticsEventsTokens
Moderation
Trap channels, cross-post auto-ban, and mod logging.
Configure
Configure Moderation
#mod-log

Every automod action (and failed attempt) is posted here

Exempt Roles: @Moderators
Exempt Roles: @Event Staff
Trap channels enabled
Trap: #do-not-post
Trap: #verify-here
Do not post in this channel. Posting here results in an automatic 7-day softban.

Posted and pinned in each trap channel

Cross-post duplicate auto-ban
60

5–600

10

1–200

2

2–10

CancelSave Changes
CancelSave Changes
The Moderation card's Configure modal: mod-log channel, exemptions, and both automod rules in one place.

Rule 1 — Trap channels (7-day softban)

Designate one or more channels as "do not post" traps. Any non-exempt member who posts in one is instantly softbanned: they're banned with a 7-day message purge and then immediately unbanned. In practice this kicks them and deletes their recent messages, but they can rejoin.

When you add a trap channel, StarBot posts and pins a warning embed there so members are told not to post before they get caught. Running /config-mod trap add in Discord posts it instantly; if you configure traps from the dashboard, the bot can't post to Discord directly, so it backfills the warning on its next hourly sweep (or immediately on its next restart). Enforcement itself is live either way — the warning embed is just the heads-up.

Enable it

  1. 1
    Open the Moderation card in the Features tab, click Configure, check the channels you want to trap, and save. Or run /config-mod trap add channel:#your-channel.
  2. 2
    (Optional) Set custom warning text in the modal's warning textarea, or with /config-mod trap warning text:....
  3. 3
    Verify. /config-mod trap list shows the current traps; /config-mod trap remove clears one.

Rule 2 — Cross-post duplicate auto-ban (permanent)

If a user posts the same content in two or more different channels within a short time window, they are permanently banned with their recent messages purged. Repeating it in a single channel does not trigger it.

"Same content" means the same text (after trimming whitespace) and the same attachments. Image spam is covered: an attachment is fingerprinted by its byte size, dimensions, and type, so the same image re-posted across channels is caught even with no caption. Re-uploading the same file produces the same fingerprint (the filename is ignored, since a spammer can change it freely).

Tunables (defaults):

  • Window — how close together the posts must be. Default 60 seconds (range 5–600).
  • Min length — text-only messages shorter than this are ignored, so someone typing "lol" in two channels isn't banned. Messages with attachments are always checked, regardless of caption length. Default 10 characters (range 1–200).
  • Min channels — how many distinct channels the identical content must appear in. Default 2 (range 2–10).

Enable it

  1. 1
    Toggle Cross-post duplicate auto-ban on in the Moderation modal and save, or run /config-mod dupban enable. (/config-mod dupban disable turns it back off.)
  2. 2
    (Optional) Tune the detector with the modal's Window / Min length / Min channels fields, or /config-mod dupban settings window_seconds: min_length: min_channels:.
This is powerful

A legitimate member who cross-posts the same announcement in two channels within the window would be banned. That's why it ships off by default and admins/mods are exempt — turn it on deliberately and keep the defaults conservative.

Who is exempt

Both rules skip:

  • Members with Administrator, Ban Members, or Manage Server permission.
  • The server owner and StarBot itself.
  • Other bots and webhooks.
  • Any role you add to the Exempt Roles list (the modal's checkboxes, or /config-mod exempt add role:@Role; exempt remove and exempt list manage it from Discord).

What gets logged

If you've set a mod-log channel (the modal's Mod Log Channel field, or /config-mod set_log_channel), every automod softban and ban — and every failed attempt (e.g. StarBot lacked permission) — is posted there as an embed with the user, channel, and reason. /config-mod view shows your full current configuration at any time.

SB
StarBotApp
Automod — Trap Channel Softban
Member posted in a trap channel and was softbanned (7-day message purge, then unbanned).
User
@GrieferGuy (griefer_guy)
Channel
#do-not-post
Reason
Posted in trap channel
StarBot Automod
A trap-channel softban logged to the mod-log channel.