Skip to main content
Every moderation action Bloom takes is filed as a numbered case against the member, with the moderator who took it, the reason, and the time. Warnings, the record behind them, and your staff’s private notes all live in that same history.

How cases work

Case numbers count up from 1 inside each server, so case #14 in your server has nothing to do with case #14 anywhere else. A case records the action, the member, the moderator, the reason, when it happened, and for timed actions how long it lasts and when it runs out. These actions open a case:
A warning is a record. Bloom does not kick, mute, or ban anyone for reaching a number of warnings, so escalation is a judgement call your staff makes by reading the history.
If you have a moderation log channel set up, each case is also posted there as it happens. See Event logging for how to configure it.

Warning a member

Manage Messages
Records a warning against a member and tells them why.
  • A reason is required. Without one Bloom replies with the usage line instead of warning anyone.
  • You need: Manage Messages, and a higher role than the member.
  • The member gets a direct message with your reason unless you add -s, which must be the last word in the command.
  • !warn @Someone Spamming in general replies Successfully warned Someone.
You cannot warn yourself, Bloom, or the server owner. You can warn someone who has already left the server by using their ID, which files the case without a direct message.
Members can turn off moderation direct messages from Bloom. When they have, the warning still lands in their record and the action still counts, they simply are not notified.

Reading someone’s record

Moderate Members
Shows every case filed against a member in this server, newest first. Aliases: modlogs, infractions, punishments.
  • Bloom needs: Embed Links.
  • The top line counts the record by type, for example Warning: 3 | Timeout: 1.
  • Each entry shows its case number, the moderator, how long ago it was, the reason, and any duration or expiry.
  • Entries that have been lifted or have run out are marked Inactive.
  • !history @Someone on a clean account replies No moderation history.
The embed shows at most 25 cases. The counts in the top line cover the whole record, so a member with more than 25 cases still shows an accurate total.

Correcting a case

Moderate Members
Replaces the reason on a case that is already filed. Use it when a moderator typed the wrong reason or left one too vague to act on later.
  • Takes the case number shown in history, not a member.
  • !reason 42 Repeated harassment after a warning reacts with a check and shows you the old and new reason side by side.
  • !history shows the new reason from then on.

Removing cases

Moderate Members
Deletes a single case from the record. Bloom reacts with a check when it is gone.
Moderate Members
Deletes a member’s entire moderation record in this server at once.
Removing a case deletes it permanently. There is no undo, and the member’s history is the only place that record exists. Correct a bad reason with !reason instead of deleting and refiling the case.
Case numbers are handed out by counting from the highest number in use. If you delete the most recent case, the next action takes that same number, so two different actions can end up sharing a number in your logs.

Private staff notes

Notes sit alongside the case history and are never shown to the member. Use them for context that is not an action, such as a pattern you want the next moderator to know about.
Manage Messages
Saves a note against a member and replies with the note’s number. Alias: mn.
  • Bloom needs: Embed Links.
  • !modnote add @Someone Warned verbally about tone in voice replies Added note 3 for Someone.
Manage Messages
Lists every note on a member, each with its number, who added it, and when.
Manage Messages
Deletes one note. Takes the note’s own number, which is separate from case numbers.
Notes are visible to anyone who can run modnote list, which is everyone with Manage Messages. Write them as though the member may eventually read them.

Moderator activity

Moderate Members
Shows how many actions a moderator has taken in this server, broken down by type with a percentage of their total. Alias: modactions.
  • Bloom needs: Embed Links.
  • With no name it shows your own record.
  • The ten most used action types are listed individually, and anything past that is grouped as Other.
  • !modstats @Moderator on an inactive account replies that they have not performed any moderation actions.
The count follows the case record, so removing cases with history remove lowers the moderator’s totals too.

Locking a nickname

Manage Nicknames
Pins a member to one nickname. If they or anyone else changes it, Bloom sets it straight back. Aliases: fn, forcenick, fnick, locknick.
  • You need: Manage Nicknames, and a higher role than the member.
  • Bloom needs: Manage Nicknames, and a higher role than the member.
  • Nicknames are limited to 32 characters.
  • !forcenickname @Someone Rulebreaker 7 sets the nickname and holds it there.
Manage Nicknames
Releases the lock and clears the nickname back to the member’s normal name. Running the command with no nickname at all does the same thing.
While a nickname is locked, Bloom stops recording that member’s name changes in their name history, since every change is reverted.

Troubleshooting

A reason is required. !warn @Someone on its own is not enough, !warn @Someone Spamming is.
Your highest role has to sit above theirs. Equal is not enough. Someone with a higher role has to issue the warning, or your role has to move up.
-s only counts as a flag when it is the very last word. Written anywhere else it is treated as part of the reason.
Cases are per server, so a record from another server never appears here. Otherwise the case was removed with history remove or history removeall, which cannot be undone.
reason takes the case number from history, not the member’s ID. Run !history @Someone first and use the number shown next to the entry.
Bloom needs Manage Nicknames and a role above the member’s highest role. Neither Discord nor Bloom can change the nickname of the server owner.

Bans, kicks, and timeouts

The actions that open most of the cases you will read here.

Event logging

Send every case to a staff channel as it happens.

Permissions and hierarchy

Why role position decides who can warn whom.

Fake permissions

Let a trusted helper use warn without giving them Manage Messages.