- Automod
- Explainers
What is heat? Automod that doesn't need a rulebook
By The Bastion team. , 4 min read.
In short
Heat gives every member a score. Messages push it up, quiet seconds bring it down, and reaching 100 earns a timeout. Normal chat sits near zero all day, so you don't have to write a rule for every kind of spam.
The trouble with rulebooks
Most automod starts as a list of rules. No more than five messages in five seconds. No more than three mentions. No more than four emoji. Each rule is easy to read on its own.
The list is the problem. Spammers find the gap between two rules, so you add a third. Then a regular member trips one during an exciting moment and gets muted for being happy. You end up tuning numbers you never wanted to think about.
Heat replaces the list with one idea.
One score for each member
Think of an engine. Rev it gently and it stays cool. Floor it and it overheats. Each member has their own engine. Sending a message revs it, and stopping lets it cool.
Three numbers do most of the work. These are the ones Bastion uses on its Balanced level.
| Setting | What it does | Balanced |
|---|---|---|
| Heat per message | What every message adds, whatever it says. | 12 |
| Cool-down speed | Heat lost for each second the member is quiet. | 8 a second |
| Heat limit | Where Bastion steps in. | 100 |
Try it. Press Say hello a few times, then press Spam a few times.
Live demo
Member heat
Press a button to send a message as a pretend member.
What normal chat looks like
Sam sends a message every three seconds. The first adds 12. Three seconds later Sam has cooled by 24, so the heat is back at zero before the next message lands. Sam can chat like that all day and never go above 12 out of 100.
Even one message a second is slow to build. Each message adds 12 and 8 drains away, so heat creeps up by 4. It would take 23 messages in a row, one a second with no pause, to reach the limit.
What spam looks like
Now a spammer pastes the same line twice a second. Repeating yourself adds 22 on top of the usual 12, so each paste is worth 34.
| Message | Cooled since last | Added | Heat |
|---|---|---|---|
| 1 | 0 | 12 | 12 |
| 2, a repeat | 4 | 34 | 42 |
| 3, a repeat | 4 | 34 | 72 |
| 4, a repeat | 4 | 34 | 102, over the limit |
Four messages and a second and a half. Bastion deletes the messages and times the spammer out.
Some things are hot on their own
Speed isn't the only signal. What's in the message adds heat too, and the reasons stack.
- Each person or role pinged adds 15. A message that pings six people adds 12 plus 90, which is 102.
- Pinging @everyone or @here adds 100.
- A Discord invite link adds 100.
- A link to a known scam site adds 100, and by default that one is a ban, not a timeout.
- Each attachment adds 18, shouting in capitals adds 15, and a pile of emoji adds a little for each one after the third.
So the worst kinds of spam are stopped on the first message, and the mild kinds only matter when someone keeps going. The whole table is on the heat page.
After someone overheats
The first two timeouts are 5 minutes each. The third is an hour, and it doubles after that. Someone who got carried away once loses five minutes. Someone who keeps coming back loses a lot more.
Every time Bastion acts, the log entry lists what pushed the person over. Nobody has to guess why it happened.
What you still get to decide
Not much, which is the point. But there are three choices worth knowing.
- The level. Relaxed adds 8 for each message and cools at 12 a second. Strict adds 17 and cools at 5. Balanced sits between them and suits almost everyone.
- Who's skipped. Automod has an ignore list for roles and one for channels. It already skips staff with Manage Messages. A bot commands channel or a counting game is a good one to exempt.
- Which filters run. Each reason is a switch. If capitals keep catching people in your server, turn that one off and leave the rest.
Setting your own numbers is called custom heat tuning and is part of Pro. Most servers never need it.
When heat is the wrong tool
Heat judges behaviour, not meaning. It won't know that a calm, slow message is rude. That's a job for your moderators, for member reports, and for the word filters in Discord AutoMod, which block a message before anyone sees it.
Used together, they cover each other. Heat handles the flood, and people handle the judgement calls.
Protect your server today
Free to add. Three minutes to set up.