> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Auto-Mod

> Rule-based message filtering for bad words, invites, links, caps, spoilers, mass mentions and spam — with automatic punishment escalation.

Auto-Moderation inspects messages as they are sent and acts on the ones that break a rule you have enabled. It is free on every tier.

<Warning>
  **All eight rules ship disabled.** Auto-Moderation does nothing until you turn on the rules you want.
</Warning>

<Warning>
  **Members with Administrator are never filtered.** Every rule is skipped for them, regardless of your configuration. This is not shown anywhere in the interface.

  If you are testing rules as an administrator, they will appear not to work. Test with a normal account.
</Warning>

## The eight rules

<AccordionGroup>
  <Accordion title="Bad Words" icon="comment-slash">
    Blocks messages containing words on your list. Each entry can be up to 60 characters.
  </Accordion>

  <Accordion title="Repeated Text" icon="repeat">
    Catches repeated characters and excessive emoji.
  </Accordion>

  <Accordion title="Discord Invites" icon="link-slash">
    Blocks Discord invite links and codes.

    <Note>
      This rule has **no configuration screen**. It is on or off — there is no way to allow specific servers from the dashboard.
    </Note>
  </Accordion>

  <Accordion title="External Links" icon="globe">
    Filters links to sites outside Discord, with an allowed-domains list.

    <Warning>
      **An empty allowed-domains list blocks every external link.** If you enable this rule without adding domains, all links are filtered. Add your permitted domains first.
    </Warning>
  </Accordion>

  <Accordion title="Excessive Caps" icon="font">
    Triggers on messages that are mostly uppercase. Only applies to messages of at least seven characters, and emoji are excluded from the calculation.
  </Accordion>

  <Accordion title="Excessive Spoilers" icon="eye-slash">
    Limits how many spoiler tags a message may contain.
  </Accordion>

  <Accordion title="Mass Mentions" icon="at">
    Limits how many users or roles a message may mention.

    <Warning>
      The limit is **inclusive** — a message that mentions exactly the configured maximum already violates the rule. Set it one higher than the number you actually want to permit.

      `@everyone` and `@here` always violate this rule regardless of the number.
    </Warning>
  </Accordion>

  <Accordion title="Anti-Spam" icon="gauge-high">
    Rate-limits messages per member.

    <Warning>
      **The "Interval (seconds)" field does nothing.** It saves, but the bot reads a different stored value and the interval you set is never applied. Only the message limit takes effect.
    </Warning>
  </Accordion>
</AccordionGroup>

## Only one rule fires per message

<Warning>
  Rules are evaluated in order and **the first match wins**. A message breaking three rules triggers one — the earliest in the list.

  You will not see three separate actions for one message.
</Warning>

## Actions

| Action             | Effect                                    |
| ------------------ | ----------------------------------------- |
| **Block Message**  | Deletes the offending message             |
| **Send Alert**     | Posts a notice in a channel you choose    |
| **Timeout Member** | Times the member out for a fixed duration |

Timeout durations are a fixed set: 60 seconds, 5 minutes, 10 minutes, 1 hour, 1 day or 1 week.

<Warning>
  Two silent behaviours worth knowing:

  * **Send Alert does nothing on Repeated Text and Anti-Spam.** The switch saves but the alert is never posted.
  * **Timeout is suppressed on every rule the moment you have any Automated Action configured.** The switch stays on and the duration stays populated, but the timeout never fires — Automated Actions take over punishment entirely.
</Warning>

A rule will not act on the same member twice within about a minute, so a burst of messages produces one action rather than ten.

## Exclusions

Every rule has its own **Disabled Channels** and **Disabled Roles**. A rule is skipped entirely for a member holding an excluded role, or in an excluded channel.

<Tip>
  Exclude your moderator roles from the link and invite rules — otherwise moderators posting a legitimate reference link are filtered by their own server's rules.
</Tip>

## Exclusive settings

Separate from the eight rules, these control what a channel accepts at all:

| Setting              | Effect                                                        |
| -------------------- | ------------------------------------------------------------- |
| **Only Commands**    | The channel accepts only commands                             |
| **No Commands**      | The channel rejects commands, with a configurable prefix list |
| **Only Attachments** | The channel accepts only messages with a file attached        |

Each has its own **Allowed Roles** list for members who should bypass it. Leaving the blocked-prefix list empty blocks the common defaults `/`, `!`, `#`, `+` and `$`.

## Automated Actions

Escalating punishment based on a member's infraction count across rules, rather than within one.

For each action you set the punishment, the infraction count that triggers it, the time window infractions are counted over, and optionally which single rule to count.

<Warning>
  **Warn does nothing.** Selecting it records a line in the bot's log and takes no action — no warning is issued to the member and nothing appears in their warning history.

  Use Timeout or Mute for an actual consequence.
</Warning>

<Note>
  **Mute is applied as a Discord timeout**, not a mute role. Mute and Timeout behave identically.
</Note>

Actions are evaluated from the **highest infraction count downward**, and the first one that qualifies fires. Once an action triggers, the member's entire violation history is cleared, so escalation restarts from zero.

<Info>
  Automated Actions are the one part of Auto-Moderation limited by tier: **1 on Starter**, **50** on every paid tier. At the limit the add button is disabled — there is no upgrade link on it.
</Info>

## Saving

<Warning>
  **Rule toggles are saved one at a time.** If one fails partway through, the toggles already applied stay applied and the rest do not. Re-open the page to see the true state rather than assuming the whole save rolled back.
</Warning>

Empty exclusive-settings lists are stored as "unset" rather than as empty lists — this is normal and not a lost setting.

## Settings that exist but cannot be reached

Several stored settings are read by the bot but have **no dashboard control**: invite allow and block lists, the external-links block list, whether bad words match inside longer words, and the per-rule mute escalation counts.

They keep whatever value they hold and cannot be changed from here.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Nothing is filtered when I test it">
    You are almost certainly testing as an administrator. Administrators are exempt from every rule.
  </Accordion>

  <Accordion title="A rule is on but never triggers">
    Check the rule's disabled channels and roles, and remember only the first matching rule fires per message.
  </Accordion>

  <Accordion title="Timeout is configured but nobody is timed out">
    You have at least one Automated Action. That disables rule-level timeouts everywhere.
  </Accordion>

  <Accordion title="Alerts are not posted for spam or repeated text">
    Those two rules do not support alerts, despite the switch.
  </Accordion>

  <Accordion title="Every link is being blocked">
    Your allowed-domains list is empty. Add the domains you want to permit.
  </Accordion>

  <Accordion title="A change saved but did not take effect">
    Configuration reaches the bot within about 30 seconds normally, but up to 10 minutes if the notification is missed. Wait before re-saving.
  </Accordion>
</AccordionGroup>

## Related

<CardGroup cols={2}>
  <Card title="AI Auto-Mod" icon="sparkles" href="/en/moderation/ai-auto-mod">
    Catches intent rather than exact text.
  </Card>

  <Card title="Logging" icon="scroll" href="/en/moderation/logs">
    Record Auto-Moderation actions for review.
  </Card>
</CardGroup>
