Achievements: Custom Achievements with Automatic Unlocking

How Kage's achievements work: custom achievements for messages, level or invites, manual granting, XP reward, announcement, the /achievements commands and troubleshooting.

Last checked for accuracy: 14 October 2026

With achievements, you define custom accomplishments for your server, for example "Prolific writer" at 1,000 messages or "Level 10". Kage unlocks them automatically as soon as a member meets the condition, and can optionally give XP as a reward and announce the unlock. Some achievements you grant by hand.

For a short walkthrough, see the guide Setting up achievements.

Requirements

  • Access to the module: You sign in to the dashboard with Discord and need the Manage Server permission (or access granted for this module). The management commands require the same permission.
  • For level achievements and XP rewards: The level system must be on (Levels and XP).
  • For announcements: Kage needs Send Messages and Embed Links in the announcement channel.
  • Upper limit: How many achievements you may create depends on the plan: Basic 15, Premium 100, Enterprise unlimited.

The criteria

Every achievement has a criterion. Kage checks three automatically; one you grant by hand:

CriterionUnlocked when …When Kage checks
Message countthe member has written at least that many messageson every new message
Level reachedthe member's level reaches at least the thresholdafter every message, once the XP are granted
Invitesthe member has at least that many joins through their inviteswhen someone joins through their invite
Manualyou grant it with /achievements grantonly on command

Important about the counters:

  • The message count counts every message of the member on the server, regardless of XP cooldowns and exclusions. Bots do not count.
  • The level follows the current XP and the level curve (Ranks, levels and rewards).
  • The invite count is the simple counter of invite tracking: it counts all joins through the person's invites, including fake or since-left ones. The exact breakdown is in Invite tracking.

What happens on an unlock

  1. Kage checks the condition and that the member does not have the achievement yet. Each achievement is granted only once per member.
  2. Kage stores the unlock and notes it in the module's Logs tab.
  3. If the achievement has an XP reward, Kage credits the XP as event XP. They are not multiplied.
  4. Kage builds an "Errungenschaft freigeschaltet!" embed (the announcement text is German) with emoji, name, description and reward.
  5. If "Also notify the member via DM" is on (default), Kage sends the embed as a direct message. If direct messages are blocked, it skips that.
  6. If an announcement channel is chosen, Kage posts the embed there.

Commands

The /achievements group (German /erfolge) has commands for everyone and for admins. Only you see all replies.

CommandWhoEffect
/achievements createManage ServerCreates an achievement: name, type, threshold, description, emoji (default 🏆), XP reward (0 to 100,000). For non-manual types a threshold is required.
/achievements listeveryoneShows up to 25 achievements with ID, condition and how often they were unlocked.
/achievements mineeveryoneShows your own unlocked achievements (up to 25).
/achievements leaderboardeveryoneShows the top 10 by number of unlocked achievements.
/achievements grantManage ServerGrants a member an achievement by its ID. The same unlock as the automatic one: with reward and announcement.
/achievements deleteManage ServerDeletes an achievement together with all its unlocks.

In the dashboard

Under Achievements you see all achievements with the number of unlocks and a leaderboard (most achievements). With + New achievement you create one (name, description, criterion, threshold, XP reward), and you can delete it (with a confirmation, and all unlocks are lost). You also set here whether and where unlocks are announced.

Settings at a glance

Dashboard fieldMeaningDefault
Achievements activeTurns automatic unlocking onoff
Announcement channel (optional)Channel for the announcementnone
Also notify the member via DMDM on unlockon
AchievementsName, description, criterion, threshold, XP reward–

If the module is switched off, Kage does not check the automatic criteria. Granting manually with /achievements grant remains possible.

Checking the result

  1. Create: Create an achievement "Test" with type "Message count" and threshold 3.
  2. Trigger: Write 3 messages with a test account. The announcement appears.
  3. Check: /achievements mine shows the achievement, /achievements list the number of unlocks.
  4. Logs tab: The unlock is listed there.

Troubleshooting

An achievement is not unlocked

Check that "Achievements active" is on and the achievement has a valid type and threshold. Kage checks the automatic criteria only on new messages or joins. A member who met the condition before the achievement was created gets it with their next message.

Level achievements do not come

The level system must be on so that XP are granted. The check runs after the message, once the XP are booked.

No announcement arrives

Check the announcement channel and Kage's permissions there. Direct messages only arrive if the member allows them.

The invite count seems too high

The invite achievement uses the simple counter, which also counts fake and left joins.

An achievement cannot be created any more

You have reached your plan's upper limit. Existing achievements are not trimmed; only further growth is blocked.

Further reading

XP and levels: Levels and XP. Invites: Invite tracking. Virtual currency: Economy.

Related Kage modules

  • AchievementsIncluded in Basic
  • Levels & XPFrom Premium

See plans and included modules

Keep reading

More questions? Ask Kage AIAI

Describe what you need – Kage AI picks out the right guide and gives you the sources.

Ask Kage AI

Try Kage on your server

Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.