Levels & XP
Reward eligible server messages with XP, level-up messages and role rewards.
Before you start
Section titled “Before you start”Sign in, select a server you can manage, and make sure April can see the channels where members will participate. For announcements and rewards, check its permissions to send messages and manage the chosen roles, including Discord’s role hierarchy. The server must have levels enabled for XP and /rank.
Set up levels
Section titled “Set up levels”- Open Levels & XP in the server dashboard. On the setup screen choose a channel and optionally edit the level-up message, then save.
- In Settings, turn on Status to edit the configuration. Choose whether the level-up message is enabled, private, or random; when not private, an empty channel selection uses the channel where the qualifying message was sent. Add messages as needed.
- Under Permissions, choose allowed or excluded roles and channels. Set Xp rate from ×0.25 to ×3 in quarter steps; the initial rate is ×1.
- Under Rewards, select a role and its level. Optionally remove previous reward roles and enable a reward message, choosing a channel or private message and random messages if desired. Save your changes.
- For example, configure a role at level 2, save, and have a member send eligible messages over time. Use
/rankto check progress and/rewardto list configured rewards. Reaching the level through eligible XP is intended to assign the role; a saved configuration alone does not prove the Discord operation succeeded.

The initial setup form in the local test environment.

An unsaved local preview: the saved test setting remained disabled.

Rewards in the same unsaved preview; the stored test setting remained disabled.
The initial setup enables levels and the level-up message, uses private messages, does not randomize messages, starts with no rewards or excluded roles/channels, and uses the default rank card. Review the saved settings before relying on those choices. See rank cards for server and personal designs.
How XP is earned
Section titled “How XP is earned”Although the dashboard mentions voice, the current Worker XP path processes text messages; voice XP availability is not established. April ignores bot and webhook messages, empty content, and a single word shorter than five characters. Messages beginning with the configured command prefix do not earn XP. Role and channel permissions also apply. XP gain is limited to once per 60 seconds per user across servers; sending more messages during the cooldown does not accelerate it. The dashboard does not expose the underlying XP range or timeout controls.
For newly created settings the API stores a text XP range of 15–25, with the upper bound exclusive: at ×1, a qualifying award is 15–24 XP. A missing text setting uses a Worker fallback of 15–29 before the multiplier. Stored settings may differ. XP and rankings are server-specific; the cooldown is not. Manual leaderboard edits do not update the earned-XP timestamp, but can affect the displayed activity date and pruning eligibility for records without one. See leaderboard tools.
Troubleshooting
Section titled “Troubleshooting”If /rank reports levels disabled, enable Status and save. If XP does not increase, check the channel and role rules, message content and cooldown, then try again after a minute. If a reward or message is missing, check the configured level, channel, bot permissions and role hierarchy; private messages can fail when the member cannot receive them. /reward can be empty when no rewards are configured. Check leaderboard tools before making any correction; a manual level edit does not itself establish that a reward role was granted.
Account import is currently disabled in the dashboard. XP transfer code present on other branches is not a generally available feature. Discord delivery and role assignment depend on the running service and permissions.
Related: Leaderboard · Formatting variables · Membership analytics