FeaturesXP and leveling

XP and leveling in EllieBot

Members earn XP as they chat and spend time in voice channels, and level up as it adds up. EllieBot shows their level, rank and XP and the server leaderboard, and can give or take roles when they reach the levels you choose.

How members earn XP

Members earn XP for the messages they send, the images they post and every minute they spend in a voice channel. Text XP comes at most once per cooldown, so spamming the chat does not level anyone up faster. Voice XP only counts while at least two people in the channel aren't muted or deafened.

By default EllieBot gives 3 XP per message, at most once every 5 minutes, and 3 XP per minute in voice. Change the rates for your whole server or for one channel with .xprate, for example more XP in your main chat and less in a bot-spam channel.

Stop a role or a member from earning XP at all with .xpexclude, for example your bots or a muted role.

Setting XP rates with .xprate and excluding a role with .xpexclude
More XP in #general and less in #bot-spam, and the Bots role earns none.
.xprate
Show or change how much XP the server or a channel gives, and how often.
.xpratereset
Go back to the default rates for the server or a channel.
.xpexclude
Stop a role or a member from earning XP, or let them earn it again.
.xpexclusion
List the roles and members that earn no XP on this server.

Levels, XP and the leaderboard

Members check their level, rank and XP with .xpt, which shows them as text: their level, their rank on the server, how close they are to the next level, their total XP and their club. .xp shows the same on an XP card image.

.xplb shows the members with the most XP on your server.

How much XP each level takes is set per server with .xpformula, as a * (level + 1) + c. With the default values (9 and 27), the first level takes 36 XP and every level after it takes 9 XP more. A bigger a makes high levels harder to reach.

A member's level, rank and XP shown by .xpt
A member checks their level, rank and XP with .xpt.
.experiencetext
Show your level, rank and XP as text, or another member's.
.experience
Show the same on an XP card image.
.xpleaderboard
Show the members with the most XP on this server.
.xpformula
Show or change how much XP each level takes on this server.

Role rewards for reaching a level

Use .xprolereward to give members a role when they reach a level, or to take one away. One level can add and remove several roles, so a member can move from Newbie to Member in one step.

.xprews lists every reward you have set, and .xprewsreset removes them all.

Ellie Cash as a level reward (.xpcurreward) is a Bot Owner Only command: only the person who runs the bot can set it.

Level-ups aren't announced until you turn that on. .servernotify levelup followed by your message sends it every time a member levels up, in the channel where it happened or in one you name.

Setting role rewards with .xprolereward
At level 5, members get the Member role and lose the Newbie role.
.xprolereward
Add or remove a role when a member reaches a level.
.xprews
List the level rewards on this server.
.xprewsreset
Remove every level reward on this server.
.xpcurreward
Give Ellie Cash at a level (Bot Owner Only).
.servernotify
Post a message when a member levels up.

Clubs

Members can create a club with .clubcreate and give it an icon, a banner and a description. Other members apply with .clubapply, and the club's owner or admins accept or reject them.

Clubs earn XP from their members' chatting, and .clublb ranks the clubs. A club is the same on every server EllieBot is in.

Creating a club, applying to it and accepting the member
A member creates a club, another applies to join it, and the owner accepts them.
.clubcreate
Create a club. You can be in one club at a time.
.clubapply
Apply to join a club.
.clubaccept
Accept a member who applied to your club.
.clubinfo
Show information about a club.
.clublb
Show the club rankings.

Change a member's XP

Admins can add XP to a member or to everyone with a role (.xpadd, and a negative number takes XP away), set a member's level (.xplevelset), or reset the XP of one member or the whole server (.xpreset, which cannot be undone).

Giving XP back with .xpadd and setting a level with .xplevelset
The bot was offline during game night, so a member gets their XP back.
.xpadd
Add or take away XP for a member or a role.
.xplevelset
Set a member's level.
.xpreset
Reset the XP of a member or of the whole server.

Set it up in 3 steps

.xprolereward and .xpexclude need the Administrator permission.

  1. Invite EllieBot. Members start earning XP as soon as it is in your server.
  2. Give a role at a level:.xprolereward 5 add Member
  3. Keep your bots out of the leaderboard:.xpexclude @Bots

Questions about XP and leveling

Can I give a different role at each level, and take the old one away?

Yes. Each level can add and remove roles: .xprolereward 5 add Member gives the Member role at level 5, and .xprolereward 5 rm Newbie takes Newbie away at the same level. .xprews shows every reward you have set.

Do members earn XP in voice channels?

Yes, for every minute they spend there, as long as at least two people in the channel aren't muted or deafened. .xprate can change how much, or turn it off, for example .xprate voice 5 1.

Can members see their XP without the picture?

Yes. .xpt shows their level, rank, progress to the next level, total XP and club as text, which also works with screen readers. Add a mention to see another member's.

Why isn't anyone getting XP in a channel?

The channel may have an XP rate of 0, or the members may be excluded. .xprate on its own shows the rates for the server and each channel, and .xpexclusion lists the roles and members that earn no XP. A message only gives XP once every few minutes, too.

How do I announce when someone levels up?

Use .servernotify levelup followed by your message. %event.level% is the level they reached and %user.mention% mentions them. Put a channel before the message to post every level-up there instead.

Can members change how their XP card looks?

If the bot's owner has turned on the XP shop, members can buy backgrounds and frames with .xpshop and .xpshopbuy, then put them on with .xpshopuse.

Can a member be in a club on more than one server?

A member is in one club at a time, and that club is the same on every server. To join another, leave the first with .clubleave.

← All features