Mod-log, DMs and auto-escalation

Everything on this page lives on the dashboard's Moderation page. Saving it requires the Manage Server permission, since these settings decide who gets banned automatically.

The mod-log channel

The mod-log is your staff's paper trail: one message per moderation event, in one channel, in order.

Pick it under Mod-log channel. The bot needs Send Messages and Embed Links there. Text, announcement, voice and stage channels all work, and so do forum and media channels:

  • pick a forum and FlaviBot opens a new post for every event
  • pick a forum, then a specific post, and everything goes into that post

Each entry carries the action and its case number, the member (with their ID), the moderator, the reason, the duration when there is one, and how long ago it happened. Colours run from grey for a note through amber, orange and red as the sanction gets heavier, so a glance down the channel surfaces the worst events.

Posting to the mod-log is best effort. If the channel was deleted or the bot lost access, the case is still recorded, you just lose that one message.

Show notes in mod-log is off by default: private staff notes stay out of the channel. Turn it on if your staff prefers everything in one stream.

What the member is told

Four switches, all on by default:

SwitchFires on
DM target on warn/warn
DM target on mute/mute
DM target on kick/kick
DM target on ban/ban, /tempban, /softban

The DM says what was done, in which server, for how long when there is a duration, and the reason you typed.

Three cases never produce a DM, whatever these switches say:

  • notes, which are internal by design
  • warns handed out by a Discord AutoMod rule, otherwise a spam filter would DM someone five times in a row
  • any target who is not on your server, for example a ban by ID of someone who never joined

For kicks and bans the DM is sent before the action, because afterwards there is no shared server left through which to reach them.

Letting members appeal

Set an appeal link (a full web address, up to 512 characters) and every moderation DM gains an Appeal button pointing at it.

Bind a ban appeal form in the Appeal form field just below and /ban and /tempban DMs point their button at that form instead. /softban DMs, like warn, mute and kick DMs, keep using the plain link, so it is worth setting both. See responses and ban appeals.

Warn decay

By default a warn stays active forever. Set Warn decay to a number of days (1 to 365) and a warn stops counting after that long.

Decay never deletes anything. An expired warn is still in the member's history, tagged as expired, it simply no longer counts toward auto-escalation.

One thing to know: the expiry is stamped on the warn when it is issued. Changing the setting later applies to new warns, not to the ones already on record.

Auto-escalation

Auto-escalation is the rule "three strikes and you are out", written down once so no moderator has to remember it.

Each rule reads N active warns, then do X, and says which cases it counts:

FieldAccepted values
active warns1 to 50
actionmute, kick or ban
duration (mute only)at least 60 seconds, at most 28 days
countsat least one of: direct warns, mutes, kicks, bans, tempbans, softbans

What a rule counts

Every /mute, /kick, /ban, /tempban and /softban records a warn as well as the sanction itself. That warn is how the sanction gets its case number and its line in the member's history, and it counts toward auto-escalation like any other warn. So by default a member muted three times has three active warns, and a rule at 3 fires.

Under each rule, the Counts checkboxes decide which of those warns the rule adds up:

CheckboxThe warns it covers
Direct warns/warn, and the warns handed out by a Discord AutoMod rule or an autoresponder action
Mutes, Kicks, Bans, Tempbans, Softbansthe warn each of those sanctions records

Everything is ticked on a new rule, and on every rule saved before the checkboxes existed, so nothing changes until you untick something. Unticking only changes what the rule counts: the sanction is still recorded, keeps its case number, and stays in the mod-log and the member's history.

Two examples:

  • Only real warns lead to a sanction. Tick only Direct warns on a rule at 3: a member muted three times is not touched, a member warned three times is.
  • A separate ladder for repeat mutes. Next to that rule, add a rule at 2 counting only Mutes, set to ban: the second mute bans the member, whatever their warn count.

Which rule applies

After every strike, FlaviBot looks at the rules that count that strike. A rule that ignores it is skipped, so a mute never fires a rule that only counts direct warns.

Rules that count the same cases form a ladder, and the highest rule reached applies. With rules at 3, 5 and 10, a member landing on their sixth warn gets the 5 rule, not the 3 rule. Two rules on the same ladder cannot share a threshold.

Rules that count different cases are separate ladders, and may share a threshold. When one strike reaches rules on several ladders at once, the heaviest sanction applies, only that one: ban, then kick, then the longest mute.

What never counts: notes, revoked cases, decayed warns, and the sanctions auto-escalation applies itself (otherwise a rule would feed itself forever).

Two safeguards are always on. The server owner is never auto-escalated, and the same warn can never trigger the same sanction twice, so two moderators warning at the same instant cannot produce a double ban.

An automatic sanction is recorded exactly like a manual one: it gets a case number, appears in the mod-log and in the member's history, and is attributed to the bot. Its reason says what was counted: "Auto-escalation: reached 3 active warns" for a rule that counts everything, "reached 2 active mutes" or "reached 3 active direct warns" for a rule that counts one kind.

Created on · Last updated on