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:
| Criterion | Unlocked when … | When Kage checks |
|---|---|---|
| Message count | the member has written at least that many messages | on every new message |
| Level reached | the member's level reaches at least the threshold | after every message, once the XP are granted |
| Invites | the member has at least that many joins through their invites | when someone joins through their invite |
| Manual | you grant it with /achievements grant | only 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
- Kage checks the condition and that the member does not have the achievement yet. Each achievement is granted only once per member.
- Kage stores the unlock and notes it in the module's Logs tab.
- If the achievement has an XP reward, Kage credits the XP as event XP. They are not multiplied.
- Kage builds an "Errungenschaft freigeschaltet!" embed (the announcement text is German) with emoji, name, description and reward.
- 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.
- 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.
| Command | Who | Effect |
|---|---|---|
/achievements create | Manage Server | Creates an achievement: name, type, threshold, description, emoji (default 🏆), XP reward (0 to 100,000). For non-manual types a threshold is required. |
/achievements list | everyone | Shows up to 25 achievements with ID, condition and how often they were unlocked. |
/achievements mine | everyone | Shows your own unlocked achievements (up to 25). |
/achievements leaderboard | everyone | Shows the top 10 by number of unlocked achievements. |
/achievements grant | Manage Server | Grants a member an achievement by its ID. The same unlock as the automatic one: with reward and announcement. |
/achievements delete | Manage Server | Deletes 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 field | Meaning | Default |
|---|---|---|
| Achievements active | Turns automatic unlocking on | off |
| Announcement channel (optional) | Channel for the announcement | none |
| Also notify the member via DM | DM on unlock | on |
| Achievements | Name, 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
- Create: Create an achievement "Test" with type "Message count" and threshold 3.
- Trigger: Write 3 messages with a test account. The announcement appears.
- Check:
/achievements mineshows the achievement,/achievements listthe number of unlocks. - 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
Keep reading
More questions? Ask Kage AIAI
Describe what you need – Kage AI picks out the right guide and gives you the sources.
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.