Automoderation

Choose and configure Discortics protections for unsafe messages, spam, links, floods, and suspicious joins.

4 min readUpdated Oct 3, 2026

Automoderation stops harmful messages and suspicious joins before staff need to react. The Discord commands use the name Autopilot, and each protection has its own settings and punishment policy.

Start with the problem your server actually has. Enable one protection, test it with a non-administrator account, then add another.

Choose a protection

  • Profanity: block profanity, sexual content, and slurs.
  • Mentions: stop mass user, role, channel, @everyone, and @here mentions.
  • Spam: stop duplicate messages and rapid message bursts.
  • Honeypot: create a warning channel that catches automated scam posts.
  • Links: block invites, phishing, short, adult, and custom domains.
  • Flood: remove text walls, emoji floods, and repeated content.
  • Anti-Raid: detect suspicious joins and risky new accounts.

Turn on one protection

Enable from the DashboardUse one protection first so false positives are easy to identify.
  1. Open Dashboard → Moderator.
  2. Choose one protection.
  3. Enable it and review its detection settings.
  4. Review its ordered punishment steps.
  5. Add only the trusted roles or channels that need an exception.
  6. Save and run a harmless test.

[Insert screenshot here]

One enabled protection in Dashboard → Moderator

Enable with an Autopilot commandEach protection opens its own interactive settings panel.
  1. Run the protection command, such as /autopilot antispam.
  2. Select Enable.
  3. Review its detection settings and punishment.
  4. Add only required exceptions.
  5. Test from a non-administrator account.

[Insert screenshot here]

An enabled Autopilot protection panel

Before you begin

  • You need Administrator to use the Autopilot setup commands.
  • Discortics needs Manage Messages to remove violations.
  • Mute, Timeout, Kick, and Ban need their matching Discord permissions.
  • Keep the Discortics role above members and roles it may moderate.
  • Configure the server muted role before selecting Mute.
  • Administrators are skipped by message protections, so use a non-administrator test account.

Every protection starts disabled. Opening its settings does not enable it.

Punishments

Profanity, Mentions, Spam, Links, and Flood each have a separate punishment policy.

On the public bot, every enabled protection must include at least one Timeout, Kick, or Ban punishment. Disable the protection before removing its last qualifying action. Warn can still be the first step.

The first action can be any punishment. Every action after it must be strictly stronger in this order: Warn → Mute or Timeout → Kick → Softban → Ban. Each action can be added once, and Mute and Timeout are alternatives at the same level. A later step replaces the previous step when the preceding action reaches its configured count. Ban is the maximum punishment, so no action can be added after it.

New and reset policies use Warn on detection, a 10-minute Timeout after three Warns, a Kick after three Timeouts, then a Ban after two Kicks. The reached trigger performs the higher action instead of repeating the lower one. Counters reset after 30 days without the matching action.

A continuous spam or flood burst produces one incident per member and protection until ten seconds without another detection. Deleting further messages in that burst does not create more warnings. Counts survive a kick and rejoin.

Softban bans, removes one day of messages, then unbans. Mute requires the muted role; Timeout uses Discord's native restriction. Notifications control DMs. Warn posts a moderation-style notice with its case number in the originating channel, independently of the DM switch.

Spam incidents do not advance Link escalation. Saving a changed escalation policy resets its counters.

Add Punishment confirms success privately. Delete Punishment removes the last step; repeat to remove more. The dashboard places punishments below module settings. Expand a punishment to edit it, and use the small Add Punishment button below the list.

Each module has a Log events toggle. Turning it off suppresses Discord logs while enforcement and case records continue. Duration fields accept values such as 10s, 10m, and 1h.

Exceptions and limits

ResourcePublicPrimeCustom
Ignored users per protection71525
Ignored roles per protection71525
Ignored channels and categories per protection71525
Profanity allowlist entries1,0001,0001,000
Link blacklist entries1,0001,0001,000
Link allowlist entries1,0001,0001,000

Not every protection supports every exception type. Each child guide lists the exceptions available for that protection.

Reset a protection

Run the matching Autopilot command, select Reset, review the confirmation, then select Yes, Reset.

Warning: Reset removes that protection's custom detection values, ignored lists, allowlists, and punishments. It cannot be undone automatically.

Resetting one protection does not change another.

Common problems

A test message is ignored

Test from a non-administrator account. Confirm the protection is enabled and the user, role, and channel are not ignored.

A message is removed but no punishment runs

Confirm at least one punishment step exists and Discortics has the permissions and role position required for the selected action.

The Discord panel stopped responding

Reopen the command if the panel is from an older bot version. Current settings panels do not expire just because five minutes have passed.

Autopilot action logs and AntiRaid incident alerts use the modlog channel configured with /settings moderation. Autopilot panels show a setup warning if this channel is missing.

Settings saved but protection needs attention

Native-backed protections display an applying state only after a setting change alters the effective Discord rule. Opening the command, switching tabs and changing bot-local settings do not apply AutoMod. Review any rule conflict or permission error before relying on protection. If another administrator changed settings while your dashboard was open, reload before saving.

A protection was automatically turned off

Discortics turns off an affected protection when it finds missing permissions needed for its configured actions, native rules, or message deletion. It attempts to explain the shutdown in your modlog and shows the reason in dashboard protection health. Restore the listed permissions, review the punishment chain, then enable the protection again. Invalid public-bot punishment chains are also turned off.

If Honeypot loses Ban Members, enforcement is suspended while its channel stays configured. Restore permission, then disable and enable Honeypot again. Discord may keep blocking messages through an existing native rule until the bot has permission to synchronize it.

Anti-Nuke

AntiNuke is managed by the server owner or dedicated AntiNuke admin roles. It monitors destructive administrative actions, including bot additions, emoji deletions, pruning, role and channel changes, and dangerous permission grants. Other bots are monitored too.

Role, channel and other supported gateway changes start detection immediately. Discortics checks audit records to identify the responsible account before punishment; audit delivery and Discord rate limits can still delay attribution. Delayed broker delivery does not compress actions into a false burst. Each attack shares one moderation case, with compact recovery counts such as 3/5 roles recovered.

Set up Anti-NukeThe owner and AntiNuke admin roles can manage protection.
  1. Open Dashboard → Moderator → AntiNuke.
  2. Give Discortics Administrator and move its role above every other role.
  3. Set a moderation log channel in Moderator, then review AntiNuke settings.
  4. Review Protections. Each has separate limits, a punishment, and supported recovery options.
  5. Enable Status, then Save.
Set up Anti-Nuke in DiscordOpen the AntiNuke panel or use a configuration shortcut.
  1. Run /autopilot antinuke or ;antinuke.
  2. Resolve the permission and role-position checks, then set the log channel through /settings moderation.
  3. Review Protections, use Manage to edit each rule, and select Enable. Reset restores protection defaults.
  4. To customize one protection, use ;antinuke ban on --at 3/min --at 10/hour --punish strip --recover on.
  5. Bot additions and emoji deletions are included in recommended settings. Their shortcuts are ;antinuke bot-add on and ;antinuke emoji-delete on.

Limits apply per account and trigger on the action that reaches either count. Choose Strip, Timeout + Strip, Kick, Soft ban, or Ban. Strip cannot remove managed bot roles or permissions from every source; use Kick or Ban when those permissions remain. Soft ban removes the last 24 hours of messages before unbanning.

Whitelist exempts a person or bot from one protection or all protections, temporarily or until removed. It never grants setup access. Allowed bot additions permits a bot to join while its later actions remain monitored.

Discord reports actions after they happen. AntiNuke starts containment immediately, then waits three seconds before recovery and logging to include in-flight deletions. Activity by the same actor is grouped into one case and log; later results update that message. A new incident can start after 60 seconds of inactivity.

Recovery is best effort for supported incident changes: recreated channels, roles and emojis receive new IDs. Deleted messages and role memberships are not restored. Vanity changes, kicked/pruned members, deleted webhooks and unsupported resources require manual recovery. Recovery includes eligible deletions by the same actor within the triggered limit window, including those before detection. Categories are recreated before their deleted channels, then saved role and channel positions are applied. Discord hierarchy limits or concurrent changes can prevent exact positioning; those failures are reported. One failed restoration does not stop the others. Use /cases to review the saved incident and recovery results.

To reduce native moderation risk, remove staff's native Discord permissions and grant the required Discortics command permissions instead. Command permissions do not remove native privileges automatically.

Panic mode for coordinated attacks

Panic mode is disabled by default. Enable Automatic panic mode in Anti-Nuke Overview, or use Panic under Protections in Discord. By default, 3 distinct actors breaking configured mutation limits within a rolling minute or hour activate a 1-hour panic. You can change the actor count and lock duration (1 minute to 24 hours).

Both windows count rule breakers across all enabled protections. One actor counts once even if they break several rules. Ordinary actions below their configured limits and Mixed Actions limits alone do not trigger panic. Enabled AntiNuke always enforces; actors at or above Discortics are logged without containment because Discord hierarchy prevents action against them.

Mixed Actions separately counts each action once per person across enabled protections. The defaults are 8 actions in 10 minutes and 15 actions in 1 hour. Reaching either limit triggers protection. Configure both limits from the AntiNuke Overview or dashboard; Panic's automatic activation setting uses Enabled/Disabled radio options in Discord.

During panic, Discortics temporarily removes risky permissions from editable roles and channel overrides, including permissions used by whitelisted staff. Its own bot role needs Administrator so it can keep working. Non-owner Discortics commands, buttons and dashboard actions pause too, so command permissions cannot bypass the lock. The server owner retains access. Discord restrictions, existing webhook credentials and actions already accepted can leave gaps; check the displayed coverage and issues.

The owner can End panic and restore permissions early. Otherwise the lock ends after its configured period; repeated events do not extend it. Unchanged, attributable permissions restore automatically, even after a restart or after Anti-Nuke is disabled. Recent grants and conflicting edits stay for owner review. Ending panic does not release held members or undo their punishment.

Anti-Nuke automatically disables if Discortics loses Administrator, server access, or its own bot-role Administrator permission while panic is enabled. It attempts to send the reason to the moderation log and shows the shutdown reason in the setup panel. If logging permissions are also lost, the panel records that the notice failed. Fix the prerequisites and enable protection again as the server owner; it does not turn itself back on.

AntiNuke access uses its own Admin roles setting under Whitelist, with a maximum of three roles, each having Manage Server or Administrator. These roles can manage AntiNuke and are whitelisted by default. Command permissions cannot delegate access. A non-exempt actor above Discortics is logged when a limit is reached, without punishment, recovery or panic contribution. For Discortics ban/kick commands, the attempt reaching the limit is blocked before Discord receives it; punishment is processed separately.