Internal Achievements
The /achievements command is not yet registered in the Discord bot and is not available to users. This page documents the planned feature design.
Create achievements to gamify participation beyond RSNC rewards.
Overview
Achievements provide milestones for users to work toward, creating additional engagement beyond token rewards.
Commands
View Your Achievements
/achievements
View User's Achievements
/achievements @user
List All Server Achievements
/achievements list
View Achievement Leaderboard
/achievements leaderboard
Admin Commands
Initialize Default Achievements
/achievements init
Creates a default set of achievements for your server.
Create Custom Achievement
/achievements create name:"Chatterbox" type:message_count threshold:1000 reward:500
Remove Achievement
/achievements remove name:"Old Achievement"
Achievement Types
| Type | Trigger | Example |
|---|---|---|
message_count | Total messages sent | "Chatterbox" - 1,000 messages |
voice_hours | Total voice time | "Voice Champion" - 100 hours |
streak_days | Maximum streak reached | "Dedicated" - 30-day streak |
events_claimed | Total events claimed | "Collector" - 100 claims |
gm_count | GM check-ins | "Morning Person" - 50 GMs |
rsnc_earned | Total RSNC accumulated | "Whale" - 10,000 RSNC |
custom | Admin-triggered | Special achievements |
Default Achievements
When you run /achievements init, these are created:
| Achievement | Type | Threshold | Reward |
|---|---|---|---|
| First Steps | events_claimed | 1 | 10 RSNC |
| Getting Started | events_claimed | 10 | 50 RSNC |
| Regular | events_claimed | 50 | 100 RSNC |
| Dedicated | events_claimed | 100 | 250 RSNC |
| Streak Starter | streak_days | 7 | 50 RSNC |
| Streak Master | streak_days | 30 | 200 RSNC |
| Streak Legend | streak_days | 100 | 1,000 RSNC |
| Chatterbox | message_count | 1000 | 100 RSNC |
| Voice Regular | voice_hours | 10 | 100 RSNC |
| Voice Champion | voice_hours | 100 | 500 RSNC |
Creating Custom Achievements
Basic Achievement
/achievements create name:"Early Adopter" type:events_claimed threshold:5 reward:100
With Description
Create achievements with meaningful descriptions in Partner Portal:
- Name: "Community Helper"
- Description: "Help 50 community members"
- Type: custom
- Reward: 500 RSNC
Progressive Achievements
Create a series of achievements for the same metric:
/achievements create name:"Novice" type:rsnc_earned threshold:100 reward:25
/achievements create name:"Apprentice" type:rsnc_earned threshold:1000 reward:100
/achievements create name:"Expert" type:rsnc_earned threshold:10000 reward:500
/achievements create name:"Master" type:rsnc_earned threshold:100000 reward:2500
Achievement Tracking
Automatic Tracking
Most achievement types are tracked automatically:
message_count- Every message countsvoice_hours- Voice time is trackedstreak_days- Max streak is recordedevents_claimed- Every claim countsgm_count- GM check-ins trackedrsnc_earned- Total earnings tracked
Manual Tracking (Custom)
For custom type achievements, admins trigger them manually:
- Award in Partner Portal
- Useful for special recognitions
Best Practices
Create Clear Progression
Levels: Bronze (10) → Silver (50) → Gold (100) → Diamond (500)
Balance Rewards
Achievement rewards should complement, not overshadow, regular events:
- Easy achievements: 25-100 RSNC
- Medium achievements: 100-500 RSNC
- Hard achievements: 500-2,500 RSNC
- Epic achievements: 2,500+ RSNC
Mix Achievement Types
Include a variety:
- Participation (message_count, events_claimed)
- Consistency (streak_days, gm_count)
- Engagement (voice_hours, rsnc_earned)
Announce New Achievements
When you add achievements:
- Post in announcements
- Explain how to earn them
- Celebrate early achievers
Troubleshooting
"Achievement not progressing"
- Check achievement type matches expected behavior
- Verify threshold is correct
- Ensure tracking is active (run
/test all)
"Achievement already claimed"
Achievements can only be claimed once per user.
"Can't create achievement"
- Verify you have Event Manager+ permission
- Check achievement name isn't duplicate
- Ensure threshold is a positive number