Skip to content

Achievements ​

Reward members with achievements as they level up, chat, and react. When a member earns one, SnowstormBot shows a fancy card and can trigger an automation, so you can hand out roles, post somewhere special, and more.

The Achievements feature is off by default. Turn it on from the Features page, then open the Achievements page from the sidebar to configure it. The first time you open it, a curated default set is added to your server, ready to use or edit.

How achievements are earned ​

Each achievement watches one thing and is earned the moment a member crosses its threshold:

Earned whenExample
Reaches a levelHit level 25
Reaches total XPEarn 50,000 XP
Sends N messagesSend 1,000 messages
Gives N reactionsAdd 1,000 reactions to others' messages
Receives N reactionsYour messages get 1,000 reactions
Granted manuallyAwarded by staff via an automation or custom command

Level, XP and message achievements ride the XP & levels system, so members earn them as they chat. Reaction achievements need the reactions intent (enabled automatically) and count each member's reactions over time (they're never reduced if someone un-reacts). Once earned, an achievement is kept forever (XP decay never takes it away).

Reaction counting only runs while you have at least one reaction achievement, and a short per-member cooldown keeps reaction storms from spamming the counters, so the totals are approximate.

Rarity tiers ​

Every achievement has one of five fixed rarity tiers, each with its own colour:

Common · Uncommon · Rare · Epic · Legendary

You can rename the tiers for your server (for example call "Legendary" → "Mythic") on the Achievements page; the colours stay the same. The renamed name is what shows on the card and in the {achievement.rarity} placeholder.

The card ​

When a member earns an achievement, SnowstormBot can post a card to a channel (and optionally DM the member). Configure it on the Achievements page:

  • Announcement channel — where the card is posted. Leave it blank to skip the card (members still earn achievements silently, and the automation still fires).
  • Also DM the member — send them a copy.
  • Background — pick one of the gradient presets.
  • Trophy — the medallion graphic, tinted to match the rarity.
  • Card title / description — short templates edited with the rich-text editor (formatting is hidden because the card is drawn as an image; the placeholder menu is still there). Left blank, each shows its default greyed-out as a placeholder. Tokens: {user.name}, {achievement.name}, {achievement.rarity}, {achievement.description}, {server.name}.

A live preview shows your own avatar with a sample achievement; the per-row send a test button posts a real card to your announcement channel so you can see it in Discord.

Viewing earned achievements ​

Members can browse what they've earned right in Discord. These commands appear when the Achievements feature is on, and their replies are private (only the person who ran the command sees them):

  • /achievements list [user] — a paginated list of earned achievements, numbered, each with its rarity and when it was earned. Defaults to you; pass a user to view someone else's.
  • /achievements view <number> [user] — re-renders the card for one achievement (by its number from the list) and shows its description. Defaults to you.

/userinfo [user] also shows an Achievements button that opens that member's list.

Managing achievements ​

On the Achievements page you can:

  • Add your own achievement (name, description, rarity, trigger, threshold). The number of custom achievements you can have depends on your plan; the seeded defaults don't count.
  • Edit, enable/disable, or delete any achievement, including the defaults.
  • Reset to defaults — deletes all achievements (your custom ones included) and everything members have earned, then re-adds the default set. This can't be undone.

When you create, enable, or edit an achievement, members who already meet its threshold are granted it quietly in the background (no card, no spam).

Use it in automations ​

Earning an achievement fires the Achievement earned automation trigger, so you can react to it however you like (give a role, post a message, send a DM, and so on). See Automations.

  • Placeholders: {achievement.name}, {achievement.rarity}, {achievement.description}, {achievement.id}.
  • Conditions: branch on Achievement name, Achievement rarity (a fixed tier dropdown, unaffected by your renames), or a specific achievement, so one automation can do different things for different achievements.
  • Grant achievement action: award a specific achievement to a member from any automation or custom command (the "granted manually" path). It's a no-op if they already have it, and it shows the card + fires the trigger.