Reward your most active members
Turn activity into rewards with XP and levels, level reward roles, XP events, daily bonus drops, a starboard and leaderboards members can climb.
On this page
- 1. Turn on XP
- 2. Add level reward roles
- 3. Run XP events
- 4. Add daily bonus drops
- 5. Celebrate great posts with a starboard
- 6. Show off the leaderboard
- Troubleshooting
- Nobody is earning XP
- Reward roles aren't given
- Level-ups from voice aren't announced
- Bonus drops don't appear
- The role or channel I want isn't listed
- Related
People stick around when their effort is noticed. In this recipe you'll set up a full reward loop: members earn XP for chatting and voice, unlock roles as they level up, chase daily bonus drops and double-XP events, get their best posts on a starboard, and compare themselves on the leaderboard.
It uses XP & levels, level reward roles, XP multipliers & events, XP bonus drops, the starboard and leaderboards & ranks. Allow about 30 minutes.
Create a few channels first: #level-ups, #bonus-drops and #starboard. Then create your reward
roles in Discord, for example Regular, Veteran and Legend.
1. Turn on XP#
It's under Levels & engagement in the sidebar.
In XP system, turn on XP system and Level-up messages.
In Earning XP, set Text XP and Text cooldown (seconds) for chat, and Voice XP and Voice interval (minutes) for voice. The defaults are a sensible start.
In Level-up messages, set Level-up channel to #level-ups and write a Message like
{user} reached level {level}! 🎉. Turn on Include rank image with level-up message for a rank card.
In Channels with no XP, add channels like #bot-commands or #counting.
Click Save XP settings.
How XP is earned, so you can explain it to members:
- A message earns Text XP if it's at least 4 characters, isn't the same as the member's last message, and the Text cooldown has passed. Spamming doesn't pay.
- In voice, members earn Voice XP every Voice interval while they're not deafened and at least one other person is in the channel. The AFK channel doesn't count.
- Server boosters earn extra XP with the Booster multiplier.
The How XP growth works card has Fast growth, Balanced growth and Slow or competitive growth presets. Balanced is a good choice for most servers.
2. Add level reward roles#
In Leveling speed and boosters, under Level reward roles, pick Replace lower roles (members only keep their highest reward role) or Keep all earned roles (roles stack as members level up). Click Save XP settings.
In the Level reward roles card, enter a Level, pick a Role and click Add.
Example milestones:
| Level | Role |
|---|---|
| 5 | Regular |
| 15 | Veteran |
| 30 | Legend |
Free servers can have 3 level reward roles. Premium plans allow more. See Premium.
Make the roles feel worth it: give them a colour, show them separately in the member list, or unlock a perks channel for them.
3. Run XP events#
A double-XP weekend gives people a reason to show up. Start one from Discord (you need Manage Server):
run /xp event, click Start event, and enter a name like Double XP Weekend, multiplier 2
and duration 48h.
Leave Duration empty to keep it running until you stop it: pick it in /xp event and click
Stop event. The same panel shows what's running. You can also make channels or roles earn more
all the time with /xp multiplier (Add role multiplier or Add channel multiplier), for
example 1.5× XP in #events.
/xp event Manage ServerOpen the XP events panel: temporary server-wide XP boosts.
/xp multiplier Manage ServerOpen the XP multiplier panel: boosters, roles and channels.
4. Add daily bonus drops#
Once a day, Buddy posts a bonus that members race to claim.
It's under Levels & engagement.
In Drop settings, turn on Bonus drops on, choose #bonus-drops as the Drop channel, and
set Window start (UTC) and Window end (UTC) to when your server is busiest.
Click Save drop settings.
Use the Template editor to make your own drops with a Reward type of Instant XP, Timed XP Multiplier, Mystery XP or Mega Bonus, and set how many members can claim each. If you don't make any, Buddy uses built-in drops.
@XP Bonus Alerts
Claim XP Bonus
Members click Claim XP Bonus on the drop. Buddy pings the XP Bonus Alerts role with each drop,
and members can join or leave it with /xp bonusalerts toggle. Claiming on consecutive days builds a
🔥 streak.
Bonus drops need the XP system to be switched on.
5. Celebrate great posts with a starboard#
It's under Levels & engagement.
In Starboard basics, switch on Starboard, choose #starboard and set Stars needed.
Click Save starboard settings.
Now any message that collects enough ⭐ reactions is reposted in #starboard. See
Starboard for every option.
6. Show off the leaderboard#
Members check their progress themselves:
/rankshows a rank card with their rank, level, XP and progress bar. Add user to look up someone else./xp leaderboardshows the top members, 10 per page./xp rewards dailyand/xp rewards weeklygive a little bonus XP for checking in.
/rank [user] EveryoneView rank card for yourself or another user.
/xp leaderboard [page] EveryoneView the server XP leaderboard.
/xp rewards daily EveryoneClaim your daily XP.
/xp rewards weekly EveryoneClaim your weekly XP.
Post the leaderboard in your announcements every week or month and give a shout-out to the top
three. A timed message can remind people to check their /rank.
Troubleshooting#
Nobody is earning XP#
Check XP system is on and saved, the channel isn't in Channels with no XP, and messages are at least 4 characters. Repeating the same message doesn't earn XP.
Reward roles aren't given#
Buddy needs Manage Roles, and its role must be above the reward roles. If you have more reward roles than your plan allows, only the lowest-level ones are used.
Level-ups from voice aren't announced#
Set a Level-up channel. Without one, Buddy posts level-ups where the message was sent, and voice level-ups don't have a message to reply to.
Bonus drops don't appear#
Check Bonus drops on and the Drop channel are saved, the XP system is on, and the window is set in UTC.
The role or channel I want isn't listed#
Run /setup in Discord and pick Update Channels and Roles for Website, then reload the dashboard.