Skip to content

Achievements ​

Achievements reward users for their activity on the platform.

Overview ​

Achievements are awarded automatically by rules — for account age, posts, comments, reactions, places in monthly tops, streaks of active days and subscription payments — or granted manually by an administrator. A repeatable achievement can be earned several times, and its award count grows.

All active achievements of the platform are listed on the /collectibles page, and those a user has earned are on the /{slug}/collectibles page. A user learns about every award from a notification.

Only users receive achievements: topics and deleted accounts do not. Platform administrators manage achievements in Admin Panel → Content → Achievements.

Parameters ​

An achievement has these fields:

  • Active: an inactive achievement is not awarded and is not shown in collections
  • Name: required, up to 255 characters
  • Condition: text in the /collectibles collection, up to 1000 characters
  • Description after earning: text in the user's collection, up to 1000 characters; if empty, the condition is shown
  • Icon: required, an image up to 2 MB
  • Award rule and threshold: optional; without a rule the achievement is granted only manually, the threshold is an integer from 1
  • Can be earned repeatedly: makes the achievement repeatable
  • Display order: order in the collection, a lower value comes first

If "Can be earned repeatedly" is turned off, the award count of every owner is reset to one. A deleted achievement disappears from all owners.

Award rules ​

A rule defines the metric compared with the threshold:

  • Years on the site: full years since registration
  • Place in monthly top authors, at least: the final place in the top authors of any finished month
  • Place in monthly top commentators, at least: the final place in the top commentators of any finished month
  • Published posts: published posts that are not blocked
  • Written comments: comments except deleted and blocked ones
  • Received reactions: reactions to published posts and to the user's comments, except blocked and deleted ones
  • Days of activity in a row: consecutive days on each of which the user published a post, wrote a comment or reacted
  • Paid subscription months: successful subscription payments; a monthly plan counts as 1 month, a yearly one as 12

For tops, the threshold is the lowest qualifying place: with a threshold of 10, places 1 to 10 qualify. An automatically awarded achievement is not revoked, even if the metric decreases later.

Monthly tops ​

On the 1st of every month the platform saves the final places of the previous month:

  • Top authors: 50 authors with the highest positive rating for the month; banned authors and places hidden in Admin Panel → Users → Top are skipped
  • Top commentators: 50 users with the highest positive sum of reactions received during the month on their comments; deleted and blocked comments are not counted

Places for earlier months are saved manually with the rating:save-monthly-places command, one month per run, see Console commands.

Rule checks ​

Achievements for days of activity in a row are awarded immediately, for posts, comments, reactions and subscription within an hour, and for the other rules within a day. A new achievement is also awarded to those who met the condition before it was created. An achievement for days of activity in a row is awarded only on the day the streak reaches a multiple of the threshold.

Repeatable achievements ​

The award count of a repeatable achievement depends on the rule:

  • Account age, posts, comments, reactions, subscription: the metric divided by the threshold, rounded down; with a threshold of 100 and 250 comments — 2 awards
  • Top authors and top commentators: the number of months with a place not lower than the threshold
  • Days of activity in a row: one more award each time the streak reaches a multiple of the threshold; with a threshold of 5 — on day 5, 10, 15

A user gets a notification every time the award count grows.

Manual granting ​

A platform administrator grants an achievement to a selected user in Admin Panel → Content → Achievements. These can be granted manually:

  • achievements without a rule
  • non-repeatable achievements
  • achievements for days of activity in a row

Repeatable achievements with other rules are awarded only automatically. Granting a repeatable achievement again adds one award. A non-repeatable achievement the user already has cannot be granted again.

Achievements in the profile ​

The profile shows up to three achievements: pinned ones first, then the most recently earned. The owner pins no more than three achievements in their collection.

A user chooses one of their achievements to show next to their name — in posts, comments and the profile. This can be turned off.

Released under the MIT License.