Leveling
XP-based activity system with level rewards
The Leveling module rewards active members with experience points (XP) for text messages and time spent in voice channels. As their Level increases, users unlock individual roles. Streaks reward daily activity; multipliers highlight special events or channels.
Setup
- Enable the Leveling module in the dashboard
- Choose an announcement mode (same channel, dedicated channel, DM, or both)
- Optional: customize the announcement template and enable the Rank card
- Create role rewards: assign a level threshold and one or more roles
- Optional: configure no-XP channels or no-XP roles
- Save
XP rates
| Source | Amount | Limit |
|---|---|---|
| Text message | 15–25 XP (random) | Once per 60 seconds per user |
| Voice minute | 5 XP | Once per minute (heartbeat every 60 s) |
| Minimum message length | — | 3 characters (shorter messages grant no XP) |
Level curve
TeraOne uses the MEE6-compatible formula. The XP required to advance from Level n to n+1 (the span) is:
span(n) = 5n² + 50n + 100Total XP required for selected levels (cumulative):
| Level | Total XP required |
|---|---|
| 1 | 100 |
| 5 | 1,075 |
| 10 | 4,550 |
| 20 | 25,550 |
| 50 | 206,550 |
| 100 | 1,671,550 |
Daily streaks
Users who send at least one message per day build a streak. At streak milestones, they receive a one-time bonus XP boost on top of the daily streak bonus.
Daily streak bonus: +10 XP per streak day
Freebie: once every 30 days, one inactive day can be skipped without breaking the streak.
| Streak days | One-time milestone bonus |
|---|---|
| 3 days | +50 XP |
| 7 days | +100 XP |
| 14 days | +200 XP |
| 30 days | +500 XP |
Multipliers
Multipliers change the base XP for specific channels, roles, or time-limited events. The total multiplier is capped at 125×. Multiple multipliers are multiplied together, not added.
| Type | Target | Range |
|---|---|---|
| Channel | Single channel | 0.1× – 5× |
| Role | Users with the role | 0.1× – 5× |
| Event | Time period with end time | 0.1× – 5× |
XP exclusions
No-XP channels and no-XP roles let you exclude specific areas from the XP system. Useful for bot spam channels or admin roles that should not accumulate XP unfairly.
Announcement modes
| Mode | Description |
|---|---|
off | No level-up post — XP is still awarded |
same_channel | Level-up message in the same channel where the message was sent |
dedicated_channel | All level-up posts go to a dedicated channel |
dm | Level-up notification via direct message |
both_dedicated_and_dm | Both dedicated channel and DM |
Announcement template
The default text is: 🎉 {user_mention} reached Level {level}! — it can be customized freely.
| Variable | Content |
|---|---|
{user_mention} | Mention of the user |
{user} | Username without mention |
{level} | New level |
{old_level} | Previous level |
{xp_total} | User's total XP |
{rank} | Current Rank on the Leaderboard |
{rolereward} | Name of the unlocked role reward (if any) |
Role rewards
Role rewards are automatically assigned when a user reaches a level threshold. Each reward can include up to 3 roles at once. Maximum 50 rewards per server.
Stack mode: users keep all previously earned roles (default). In single mode, only the current matching reward is assigned and older ones are removed.
Pause conditions
XP can be automatically paused for certain states:
- Discord timeout: if a user is silenced via Discord timeout, they earn no XP (configurable).
- Quarantine: if the Anti-Alt module quarantines a user, they earn no XP (configurable).
Slash-Commands
/rank [@user] — shows the Rank card for yourself or another member/leaderboard — shows the server Leaderboard (top 10)/streak — shows your current streak and milestones/xp give <@user> <amount> — Admin: manually give XP/xp remove <@user> <amount> — Admin: remove XP/xp set <@user> <amount> — Admin: set XP to an exact value/xp reset <@user> — Admin: reset all XP for a user to 0Troubleshooting
- User gets no XP when sending messages
- Check: (1) Is the module enabled? (2) Is the channel on the no-XP channel list? (3) Does the user have a no-XP role? (4) Has the cooldown elapsed (60 s)? (5) Is the message shorter than 3 characters?
- Level-up message does not appear
- Check the announcement mode and whether the bot has write permissions in the target channel. With "same_channel", the bot needs write access in every channel where users send messages.
- Role reward is not assigned
- The TeraOne role must be above the reward role in the hierarchy. Also check that the user has actually reached the required level.
Frequently asked questions
- Is XP awarded for bot messages?
- No. TeraOne ignores all messages from bots (including itself).
- Can I import XP data from MEE6?
- The level formula is identical to MEE6 — you can transfer XP values directly and the levels will match.
- What happens to the streak if I missed a day?
- Once every 30 days you get a freebie: one missed day can be bridged without losing the streak. If you miss two or more days in a row, the streak resets to 1.
- Can a user hide their Leaderboard profile?
- Yes, users can disable their Leaderboard visibility under server settings → privacy.