📅
Pro module

Run weekly or monthly XP seasons in Discord

XP Seasons counts the message and voice XP that Leveling awards and ranks members in a weekly or monthly season. When a season ends, its scores are saved and a new season starts at zero. Members check the current or a past leaderboard privately with slash commands. You can also pick a reward role: the top members of each finished season get it, and last season's winners lose it.

Start free

Start free. Pro is $9.99/month.

XP Seasons is an opt-in Pro module that works with the Leveling module. Lifetime XP, levels and level roles stay unchanged. It adds no privileged Discord intent and needs no third-party API key. The reward role is optional and needs Manage Roles.

What you get

Weekly or monthly seasons

Weekly seasons end Monday at 00:00 UTC; monthly seasons end on the first at 00:00 UTC. A change of season length applies after the current season ends. The current season and the last twelve completed seasons are saved per server with their scores, and survive restarts. Leaderboards show the top ten as private replies that do not ping anyone.

Counts earned Leveling XP

Only message and voice XP that Leveling accepts while XP Seasons is enabled counts. Leveling’s cooldowns, channel exclusions, multipliers and voice rules still apply. Existing XP, offline time and admin XP edits do not change seasonal scores.

Optional season reward role

Pick one role and how many top members (1–10) get it. Within about a minute of a season ending, the bot gives the role to that season's top members and removes it from last season's winners. Members with no seasonal XP are not rewarded. The bot only changes the role you picked, only when it sits below the bot's highest role, and refuses reward grants for roles with the permissions listed under “How do season reward roles work?” below. A member who already had the role keeps it. Pending role changes are saved and continue after a restart, one at a time.

Example commands

CommandWhat it does
/season leaderboardShows the current season’s top ten privately. Add season:<ID> to view a saved season.
/season historyLists the IDs and end dates of the last twelve completed seasons in this server.
/season statusShows the current season ID with its UTC start and end times, and the reward role setup, the last season reward plan and any blocked role changes.

Set up XP Seasons

Enable Leveling and XP Seasons for your bot and follow the normal regenerate/start workflow. Existing bots need regeneration to receive the module.

Open XP Seasons settings, select the intended Discord server, turn on Seasonal XP, choose Weekly or Monthly and save. It is off by default. To reward winners, pick a Season reward role below the bot's highest role and how many members get it.

Members earn seasonal XP as Leveling awards message and voice XP. Run /season status to see when the current season ends.

Run /season leaderboard for the current standings, or /season history and then /season leaderboard season:<ID> for a past season.

What does it cost?

XP Seasons is included in Pro — Start free. Pro is $9.99/month.

Free
$0 forever
  • 1 hosted bot, online 24/7
  • 18 free-forever modules
  • 10 custom commands
  • No credit card required
Pro
$9.99 /month
  • 3 bots
  • All 46 modules — including XP Seasons
  • AI Module Builder (50 credits/mo)
⚡ Start free. Pro is $9.99/month. Upgrade to Pro to unlock Pro features.

Frequently asked questions

Does XP Seasons reset lifetime XP or levels?

No. Seasonal scores are kept separately. Lifetime XP, levels and level roles stay as they are, and there is no reset command. The only role XP Seasons changes is the optional season reward role you pick.

How do season reward roles work?

Choose a reward role and a number from 1 to 10 in the XP Seasons settings. When a season ends, its top members by seasonal XP get the role and the previous season's winners lose it. If members tie for the last place, the bot uses a fixed order, not a random draw. Rewards start with the season in progress when you turn them on; earlier seasons are not rewarded. If the role is at or above the bot's role, is managed by Discord, or Manage Roles is missing, /season status gives the reason and the bot checks again each minute. Roles with any of these permissions are refused as rewards: Administrator, Manage Server, Manage Roles, Ban Members, Kick Members, Manage Channels, Timeout Members, Manage Messages, Manage Webhooks, Mention Everyone, Manage Nicknames, Mute Members, Deafen Members, Move Members, Manage Threads, Manage Events, Manage Guild Expressions or View Audit Log. They are marked “not allowed as a reward” and cannot be saved as rewards. Existing saved roles stay configured; /season status explains blocked grants. Removals still run if the bot can manage the role. Changing the role leaves the old role with whoever has it.

Does it need the Leveling module?

Yes. Seasonal scores come only from XP that Leveling awards for messages and voice time. Enable Leveling for the same bot and server. Faction XP is a separate competition and is not counted. XP earned while XP Seasons is off for the server, or while the bot is offline, is not added to a season; saved seasons remain.

Related modules

Add XP Seasons to your server today

Create your bot, enable Leveling and XP Seasons, and reward your first season's top members.

Start free

Start free. Pro is $9.99/month.