Streak & Attendance System
Reward consistent engagement with streak bonuses and milestone rewards.
How Streaks Work
- Users check in daily with
/daily - Consecutive days build their streak counter
- Streak multipliers increase rewards
- Milestone bonuses unlock at specific days
Streak Multipliers
Higher streaks mean higher rewards on all activities:
| Streak Days | Multiplier | Bonus |
|---|---|---|
| 1-2 days | 1.0x | Base reward |
| 3+ days | 1.1x | 10% bonus |
| 7+ days | 1.25x | 25% bonus |
| 14+ days | 1.5x | 50% bonus |
| 30+ days | 2.0x | 100% bonus |
Calculation Example
Base daily reward: 25 LTZ
| Streak | Calculation | Total |
|---|---|---|
| Day 1 | 25 × 1.0 | 25 LTZ |
| Day 3 | 25 × 1.1 | 27.5 LTZ |
| Day 7 | 25 × 1.25 | 31.25 LTZ |
| Day 14 | 25 × 1.5 | 37.5 LTZ |
| Day 30 | 25 × 2.0 | 50 LTZ |
Milestone Bonuses
One-time bonuses for hitting streak milestones:
| Milestone | Bonus |
|---|---|
| 7 days | 50 LTZ |
| 30 days | 200 LTZ |
| 100 days | 1,000 LTZ |
| 365 days | 5,000 LTZ |
Users claim milestones via /streak.
Grace Period
The grace period allows users to miss time without losing their streak.
Default: 24 Hours
Users have 24 hours from their last check-in before their streak resets.
Configure Grace Period
/config streaks grace-period:8 # 8 hours (stricter)
/config streaks grace-period:48 # 48 hours (more forgiving)
Range: 1-72 hours
Strategy Guide
| Grace Period | Best For |
|---|---|
| 8 hours | Active communities, frequent engagement |
| 24 hours (default) | Standard daily engagement |
| 48 hours | Casual communities, weekend forgiveness |
| 72 hours | Very casual, maximum forgiveness |
User Commands
View Streak Status
/streak
Shows:
- Current streak days
- Longest streak ever
- Current multiplier
- Next milestone
- Available milestone claims
Claim Milestone
/streak claim milestone:7
Claims the 7-day milestone bonus (if eligible).
How Streak is Tracked
Daily Check-in
When a user runs /daily:
- Check if within grace period from last check-in
- If yes: Increment streak counter
- If no: Reset streak to 1
- Record check-in timestamp
- Apply multiplier to reward
Streak Persistence
Streaks are stored in the discord_user_streaks table:
current_streak- Current consecutive dayslongest_streak- All-time recordlast_checkin- Timestamp of last activity
Configuration in Partner Portal
Integrations → Discord → Streak Settings
Available Settings
- Enable/disable streaks
- Grace period (hours)
- Streak multipliers (customize thresholds)
- Milestone bonuses (customize amounts)
Best Practices
Encourage Daily Engagement
- Reasonable base rewards: Don't make day 1 too low
- Meaningful multipliers: 2x at day 30 is significant
- Achievable milestones: 7-day milestone should be reachable
Prevent Burnout
- Forgiving grace period: 24-48 hours recommended
- Weekend consideration: 48+ hours helps weekend breaks
- Communicate clearly: Users should know the rules
Combine with Other Features
- Role rewards: VIP members get streak bonuses
- Announcements: Celebrate milestone achievements
- Leaderboards: Show streak rankings
Troubleshooting
"My streak reset unexpectedly"
- Grace period expired: Check when last check-in was
- Different timezone: Resets at midnight UTC
- Test mode was on: Test activities don't count
"Multiplier isn't applying"
- Check current streak:
/streak - Verify multiplier threshold: Must hit exact day count
- Confirm streaks are enabled: Check Partner Portal
"Milestone already claimed"
Each milestone can only be claimed once. Check /streak for available milestones.