Skip to content
  • 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.

SettingWhat it doesBalanced
Heat per messageWhat every message adds, whatever it says.12
Cool-down speedHeat lost for each second the member is quiet.8 a second
Heat limitWhere 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.

MessageCooled since lastAddedHeat
101212
2, a repeat43442
3, a repeat43472
4, a repeat434102, 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.

  1. 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.
  2. 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.
  3. 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.

Add to Discord