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.

Only /ban DMs link to that form; /tempban and /softban DMs, like warn, mute and kick DMs, keep using the plain link, so it is worth setting both.

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:

FieldAccepted values
active warns1 to 50, no duplicates between rules
actionmute, kick or ban
duration (mute only)at least 60 seconds, at most 28 days

After every strike, FlaviBot counts the member's active warns and applies the highest rule whose threshold has been reached. With rules at 3, 5 and 10, a member landing on their sixth warn gets the 5 rule, not the 3 rule.

What counts as a strike:

  • a /warn
  • a /mute, /kick, /ban, /tempban or /softban, because each of those records a warn as well
  • a warn assigned by a Discord AutoMod rule

What does not count: 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, is attributed to the bot, and carries the reason "Auto-escalation: reached N active warns".

flav-codeWritten on 8 August 2026