How leveling works
Leveling is on by default. Members earn XP for taking part in chat, and Bloom tracks each member’s XP per server. What is off by default is the announcement: Bloom stays silent about level ups until you enable level up messages. Bloom is designed to reward genuine conversation, not activity for its own sake:- Substantive messages earn more. A real message is worth more than a one word reply. Attachments and stickers earn a little on their own.
- Low effort messages earn little or nothing. Symbol only messages, one character repeated, and messages that just repeat what the member recently said are not rewarded.
- Bursts are fine, spamming is not. A natural flurry of messages is rewarded, but flooding the channel quickly stops paying out, so there is nothing to gain from it.
Because Bloom rewards real participation and limits how fast XP can be earned, members cannot climb the leaderboard by spamming, and you do not need to set a message cooldown yourself.
Level progression
Each level requires a little more XP than the one before, so ranks stay meaningful while remaining reachable for active members. A member’s rank card shows a progress bar toward their next level.Defaults
Quick start
1
See your own rank
Run
!level. Bloom shows your level, XP, rank, and a progress bar. Run !level @member to view someone else.2
Turn on level up messages
Run
!level on to make sure leveling is enabled, then !level message enable to announce level ups. By default the announcement is sent in the channel where the member leveled up.3
Reward a role at a level
Run
!level role add 5 @Regular. Members who reach level 5 receive the Regular role.4
Check the configuration
Run
!level config to review the current settings at any time.Viewing rank and the leaderboard
prefix command
Shows a member’s level card, and is also the entry point for every subcommand below. Alias:
lvl.!levelshows your own card.!level <user>shows another member’s card, by mention, ID, or name.!level leaderboardshows the server’s top ranked members. Aliases:top,lb.- You need: nothing to view cards or the leaderboard.
Configuring leveling
All setup subcommands are permission gated. The permission is checked through Bloom’s permission system, so a member you granted the matching Bloom permission through fake permissions can run them without the raw Discord permission.Enable or disable
Manage Server
Turns XP earning on or off for the whole server. Accepts Disabling stops new XP from being earned. It does not delete existing XP.
on, enable, yes, unlock, and the opposites off, disable, no, lock.Server and channel multipliers
Manage Server
Sets the server wide XP multiplier. Alias for the subcommand: Members now earn twice the XP everywhere except channels that have their own multiplier.
mult.- Accepted values:
0to100 0stops XP entirely for the whole server, the same effect as disabling.
Manage Server
Sets a multiplier for one channel, which overrides the server multiplier in that channel.Messages in
- Accepted values:
0to100, orresetto remove the channel’s override !level channel multiplier listshows all channel overrides.
#grinding now earn three times the XP, regardless of the server multiplier.Ignored channels
Manage Server
Excludes channels from earning XP. Messages sent in an ignored channel do not earn anything toward leveling.Use
!level ignore to manage the ignored channel list.Level rewards
Manage Server
Grants a role when a member reaches a level. The subcommand accepts Members reaching level 10 receive the Trusted role.
role, roles, or r.- level: a whole number, 1 or higher
- Running
!level rolewith no arguments lists the configured rewards and marks which you have earned.
Manage Server
Removes the reward configured at a level.
Manage Server
Controls whether members keep every reward role they earn.
yes(default): a member keeps all level roles at or below their level.no: a member keeps only the highest level role they qualify for, and lower reward roles are removed.
Administrator
Recalculates and reapplies every member’s level roles to match their current level. The subcommand accepts
sync, fullcheck, or check, and has a cooldown between runs. Use it after adding or changing rewards so existing members receive the roles they already qualify for.Manage Server
Reapplies a single member’s level roles based on their stored level, without touching anyone else.
Role restoration on rejoin
Manage Server
Controls whether a member’s level roles are reapplied when they rejoin the server. On by default.
Administering XP
Manage Messages
Adds or removes XP for a member.Ada gains 500 XP, and if that crosses a level threshold she levels up and receives any reward roles.
!level reset deletes all leveling data for the server: every member’s XP and level, every reward role mapping, ignored channels, channel multipliers, and the leveling settings. It requires the Administrator permission and a confirmation. Bloom asks you to type confirm within 15 seconds, and the action cannot be undone.Level up messages
Level up messages are off until you enable them. Once enabled, Bloom sends a message when a member levels up.Manage Server
Turns level up announcements on or off. Every
level message subcommand requires Manage Server.
Customize the text:
Manage Server
Sets the announcement template. The template can be plain text with variables, or an embed written in the
$e{...} format described in the Embed syntax reference.Plain text with variables
Embed template
!level message viewshows the current template, channel, and whether messages are enabled.!level message variableslists the available variables.!level message testsends a preview using the current template.
Level up variables
These variables are replaced when the announcement is sent. They apply only to level up messages; other Bloom features use their own variables.
To show text only when a role was earned, wrap it in
&&:
&& markers appears only when the level up granted a role. Inside it, {role.name} and {role.mention} refer to the earned role.
How rewards are applied
When a member levels up, Bloom updates their roles as follows:- Reward roles above the member’s new level are always removed.
- With stacking on, every reward role at or below the new level is added.
- With stacking off, only the highest qualifying reward role is kept and lower ones are removed.
Interactions with other features
- Ignored channels and multipliers control where and how much XP is earned. A message in an ignored channel earns nothing, and a message in a channel with a
0multiplier also earns nothing. - Embed templates for level up messages use the same
$e{...}syntax as saved embeds. See the Embed syntax reference. - Role hierarchy determines whether reward roles can be granted, the same as any other role Bloom assigns.
Troubleshooting
Members are earning XP but no level up message appears
Members are earning XP but no level up message appears
Level up messages are off by default. Run
!level message enable. Confirm the destination with !level message view, and if you set a specific channel, make sure Bloom can send there.A member reached the level but did not get the reward role
A member reached the level but did not get the reward role
Check that Bloom’s own role is above the reward role and that Bloom has Manage Roles. For members who reached the level before you added the reward, run
!level role sync to grant roles they already qualify for.XP seems to stop after a lot of messages at once
XP seems to stop after a lot of messages at once
This is expected. Bloom rewards a natural burst of chatting, then limits how fast XP is earned so that spamming cannot farm it. Earning recovers after a short pause.
Repeated or symbol only messages earn nothing
Repeated or symbol only messages earn nothing
Also expected. Messages that just repeat what the member recently said, and messages that are only symbols or one repeated character, do not earn XP.
Related pages
Embed syntax
Write embed level up messages with the
$e{...} format.Using prefix commands
How to run the
level command and read its syntax.