# Auto moderation

> Remove scam links, spam and raids on their own. Free on every plan, and off until you turn it on.

Auto moderation checks each new message in your server. When a message breaks a check you turned on, the bot removes it and can warn, time out, kick or ban the sender.

It is **free** on every plan. Everything is **off** until you turn it on, so nothing changes in your server by surprise.

No code is needed. Open **Auto Moderation** on the dashboard. The page has three tabs:

| Tab | What it does |
|---|---|
| **Checks** | The bot's own checks: scam links, blocked sites, spam, raids and strikes. |
| **Discord AutoMod** | Rules that Discord itself runs, before a message is posted. |
| **Log** | What the bot did in the last 30 days. |

## Turn it on

1. Open **Auto Moderation → Checks**.
2. Turn on the main switch at the top. The title changes from *Protection is paused* to show how many checks are on.
3. Turn on the checks you want.

The page saves on its own. Look for **Saved** under the switch.

> **A good start:** Turn on **Scam links**. It is marked **Recommended**. It catches fake Nitro, fake Steam and token-stealing sites, from public lists the bot keeps up to date.

## The checks

Each check has its own switch. Click a check to open its settings.

### Links

| Check | What it catches |
|---|---|
| **Scam links** | Links to known scam and phishing sites. |
| **Blocked sites** | Whole groups of sites: **Adult sites**, **Gambling** and **IP grabbers** (links that record the address of whoever clicks). Add your own under **Also block these sites**. |
| **Invites and links** | **Server invites**, **All other links**, or both. |

### Spam

| Check | Settings |
|---|---|
| **Message flood** | Too many messages: **Messages** within **Within** seconds. |
| **Repeated messages** | The same message **Times in a row** within a time. |
| **Same message in many channels** | One message posted in a number of **Channels** within a time. |
| **Mass mentions** | More than **Most mentions allowed** in one message. |
| **All caps** | Messages with too many **Capital letters**. Short messages are skipped (**Skip messages shorter than**). |
| **Emoji spam** | More than **Most emojis allowed** in one message. |

### Joins

**Raids** catches a wave of new members: a number of **Joins** within a few seconds. Pick what happens:

- **Only alert the mod log**
- **Kick the new members**
- **Ban the new members**

## What happens on a hit

Each message check has its own action:

| Action | Result |
|---|---|
| Delete the message | The message is removed. |
| Delete and warn | Removed, and the bot posts a short warning in the channel. |
| Delete and time out | Removed, and the member is timed out. Set the length in **Time out for**. |
| Delete and kick | Removed, and the member is kicked. |
| Delete and ban | Removed, and the member is banned. |

The warning never shows the link that was removed, so nobody can click it.

## Strikes

Each hit counts as a **strike** for 30 days. Under **Strikes**, you can go harder on members who keep breaking the rules.

Click **Add step** to add a rung to the ladder. For example:

| At | Punishment |
|---|---|
| 3 strikes | Time out for 10 minutes |
| 5 strikes | Kick |
| 8 strikes | Ban |

The bot always takes the harsher of the two: the check's own action, or the step the member has reached.

## Exceptions

Nobody is skipped by default, not even admins. You choose who and what to leave alone.

**For the whole server**, use **Log and exceptions** at the bottom of the page:

- **Leave these roles alone**: for example your moderator role.
- **Skip these channels**: for example a links channel.
- **Always allow these sites**: sites that a link check gets wrong. Scam links, Blocked sites and Invites and links never remove them.

**For one check only**, click the settings button (the slider icon) on that check's row. It opens **Exceptions** with the same three lists. A number on the button shows how many exceptions the check has.

## Mod log

Pick a **Mod log channel** under **Log and exceptions**. The bot posts an entry there for each action, with the member, the check and what it did. The colour of the entry shows how harsh the action was.

You can also read the last 30 days on the **Log** tab.

## Discord AutoMod

The **Discord AutoMod** tab manages Discord's own AutoMod rules. Discord runs these **before** a message is posted, so the message never appears.

Click **New rule**, then pick a **Trigger**:

| Trigger | Blocks |
|---|---|
| Keyword / regex | Your own words or patterns, one per line. |
| Preset lists | Discord's lists, like **Profanity** and **Slurs**. |
| Mention spam | Messages with more than **Max mentions**. |
| Spam (Discord's model) | Messages Discord thinks are spam. |

Then pick the **Actions**: **Block the message**, **Send an alert** to a channel, and **Timeout the member**.

> **Note:** Discord only lets a bot manage AutoMod rules with the **Manage Server** permission. If the tab says *The bot needs one more permission*, click **Invite the bot again**.

## Permissions the bot needs

| To do this | The bot needs |
|---|---|
| Remove messages | Manage Messages |
| Time out members | Timeout Members |
| Kick | Kick Members |
| Ban | Ban Members |

Discord does not let a bot act on the server owner, or on members with a role higher than the bot's role. Move the bot's role up under **Server Settings → Roles** if an action fails.

## Learn more

- [Moderation commands](https://ccbot.app/docs/guides/moderation-commands) adds `/kick`, `/ban` and `/timeout` for your moderators.
- [Permissions and cooldowns](https://ccbot.app/docs/concepts/permissions-and-cooldowns) explains who can run what.
