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:
| Switch | Fires 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:
| Field | Accepted values |
|---|---|
| active warns | 1 to 50, no duplicates between rules |
| action | mute, 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,/tempbanor/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".
