Community engagement

How to Add Levels to Your Discord Server: XP, Role Rewards and Rank Cards

A leveling system turns chatting into a game: members earn XP, unlock roles and compare themselves on a leaderboard. Here is how to set one up in minutes so it rewards real activity, not spam.

MurFFy Team7 min read
How to Add Levels to Your Discord Server: XP, Role Rewards and Rank Cards
On this page
  1. How a Discord leveling system works
  2. Step 1. Set XP and difficulty
  3. Step 2. Add role rewards for levels
  4. Step 3. Set up the level-up message
  5. Step 4. Design the rank card
  6. Step 5. Turn off XP where it makes no sense
  7. Commands for members and staff
  8. FAQ

A server without goals goes quiet fast. A leveling system gives members a simple reason to come back: every message earns a little XP, milestones unlock roles, and the leaderboard shows who is the most active.

In this guide you will add levels to your Discord server with MurFFy: how much XP a message is worth, how to reward levels with roles, where to post level-up messages, and how to stop XP farming in spam channels.

Quick answer

  1. Add MurFFy and open Leveling in the dashboard.
  2. In XP & difficulty, set XP per message and the message cooldown.
  3. In Rewards & multipliers, give roles at chosen levels.
  4. In Level-up message, pick where the congratulation goes.
  5. In Exceptions, block XP in channels such as #bot-commands or #memes.
Discord level-up message with a rank card and the /rank command result
A level-up on Discord: a congratulation with the rank card, and below it the result of /rank.

How a Discord leveling system works

Every message earns a set amount of experience points (XP). Collect enough XP and you reach the next level. Each level needs more XP than the last, so early levels come fast and later ones take real effort.

To avoid rewarding spam, the bot counts XP at most once per cooldown. The defaults are 15 XP per message and a 60-second cooldown, so ten messages in a minute earn XP only once.

Step 1. Set XP and difficulty

MurFFy leveling XP settings: XP per message, XP per voice minute, message cooldown and the live leaderboard
XP settings (1), clearing XP when someone leaves (2) and the live leaderboard (3).

In XP & difficulty you set three basic numbers:

  • XP per message: how many points one message earns.
  • XP per voice minute: 0 by default. Set it to something like 5 if your community talks more than it types.
  • Message cooldown: how many seconds before another message earns XP.

Below that you find message multipliers: bonus XP for long messages (for example, over 150 characters), a multiplier for messages with attachments, and a flat bonus for featured members such as bot voters. Under Levels you choose the Default curve or a Custom one where you set the XP needed for levels 2 and 3. The table next to it shows how many messages each level takes.

Choosing a pace: on a small server (under 200 members) keep the defaults so the first rewards arrive within days. On a large, busy server use a custom curve, or the leaderboard fills up with high levels very quickly.

Step 2. Add role rewards for levels

Level roles are the heart of the system. A colored role in the member list motivates more than any number on a leaderboard.

Leveling rewards in MurFFy: Regular, Veteran and Legend roles at levels 5, 15 and 30, plus role and channel XP multipliers
Reward timeline (1), the add form (2), removing previous roles (3) and XP multipliers (4).
  1. Open Rewards & multipliers.
  2. Choose the reward type: Role or Currency (if you use the economy).
  3. Enter the level, pick the role and click Add reward.
  4. Decide whether previous roles are removed on level-up. On: members hold one level role at a time. Off: roles stack.

A proven starting setup is three milestones such as 5, 15 and 30. Most active members hit the first in a week, the second in about a month, and the third stays for your most loyal regulars.

XP multipliers reward chosen groups. A VIP role at ×1.5 earns XP 50% faster, and #general at ×1.2 keeps conversation in one place instead of side channels.

Mind the role hierarchy. The bot role must be above the roles it gives for levels, or Discord blocks the assignment.

Step 3. Set up the level-up message

Level-up message settings in MurFFy: channel choice, text with variables and sending the rank card as an attachment
Where it goes (1), text variables (2) and the rank card attachment (3).

The level-up message can go to:

  • The current channel: where the member just typed. Most visible, but noisy on big servers.
  • A custom channel: such as #level-ups. Best for servers with a few hundred members or more.
  • A direct message: only the member sees it.

Variables you can use:

VariableReplaced with
{mention}A mention of the member
{username}Their username
{level}The new level
{oldLevel}The previous level
{totalxp}Total XP
{server}Your server name

Example: GG {mention}, you reached level {level}. Turn on Send the rank card as an attachment to add an image with the avatar and XP bar.

Step 4. Design the rank card

The rank card appears on level-up and when someone runs /rank. In Rank card you pick a template, then change the background (color, gradient or your own image), avatar, XP bar and text.

MurFFy rank card editor with the card preview and template picker
Card preview (1) and template picker (2). Every element can be moved and restyled.

Step 5. Turn off XP where it makes no sense

Bot-command, meme and counting channels quickly become XP farms. In Exceptions, add them to the blocked list. You can also flip it to allowed mode, so XP only counts in the channels you choose.

Leveling exceptions in MurFFy: bot-commands and memes channels blocked and the Quarantine role without XP
Channels and roles that don't earn XP.

Roles work the same way: put Quarantine or Muted on the blocked list and punished members won't level up.

Commands for members and staff

CommandWhoWhat it does
/rankeveryoneYour rank card, or someone else's
/leaderboardeveryoneServer leaderboard by XP, invites or messages
/xp add-xpstaffAdds XP to a member
/xp set-levelstaffSets a level
/xp set-xpstaffSets total XP
/xp resetstaffResets a member's progress

There is also a public web leaderboard you can link in announcements. The Leaderboard button in the dashboard opens it.

FAQ

Is MurFFy's leveling system free?

Yes. Custom XP rates, cooldowns, role rewards, multipliers, level-up messages, the rank card, the leaderboard and exceptions are all on the free plan. Premium raises limits such as the number of rewards.

Can I move levels from another bot?

Use /xp set-level or /xp set-xp to set levels by hand, for example for your most active members who don't want to start from zero.

Does voice chat earn XP?

Yes, once you set XP per voice minute above 0.

How do I stop XP spam?

Keep the message cooldown at 30–60 seconds or more and add command channels to the exceptions.

What's next

Levels work best alongside other reasons to be active. Pair them with an economy and a role shop, and show newcomers where to start with welcome messages.

Turn on leveling in MurFFy →

See everything the module does on the Discord leveling bot page.

Was this guide helpful?