Dashboard Overview
Live counts pulled from
/api/users-simple. Growth charts coming when telemetry is wired.Total users
—
From userPoints (top 50 sample)
Active today
—
Heuristic — not connected yet
Season 1 users
—
Heuristic on createdAt
Season 2 users
—
Heuristic on createdAt
Total points
—
Sum across loaded users
Total REAL
—
Estimated · ledger pending
Referrals
—
Users with refferal_id set
Suspicious
—
Heuristic — review manually
Growth · 7d
📈 Chart placeholder — telemetry endpoint not connected
Top players
Player Management
Search, filter, open profile, edit. Edits are persisted to local audit log; backend write endpoints land next.
| Player | Telegram ID | Level | Points | Score | Season | Status |
|---|
Season 2 Control
Reset, mark OG, configure founder bonus. Backend mutations not connected yet — UI ready.
Reset Season 2
All players → fresh state
Wipes Season 2 progress. Season 1 records and referral history are preserved.
Mark selected as Season 1 OG
Bulk OG assignment
Select players in the Players table, then click Mark OG.
Founder bonus configuration
Configure rewards granted when "Claim Bonus" runs in Season 2.
Persisted to localStorage only until backend endpoint is wired.
Chapters · Learn admin
Edit chapter banners, titles, quizzes, rewards. Catalog text persists locally; banner uploads are real.
| # | Banner | Title (EN) | Title (FA) | XP | REAL | State |
|---|
Heroes admin
Catalog, rarity, upgrade cost, passive. Image uploads write to
/season2/uploads/heroes/.| Image | Hero | Rarity | Bonus | Upgrade cost | Passive / hr | Status |
|---|
Quiz admin
All chapter quiz questions, persisted to
quizzes.json.| id | Chapter | Part | Question | Difficulty |
|---|
Referral admin
Top referrers from
userPoints.refferal_id. Tree view + suspicious-pattern detector arrive when join logs are exposed.Top referrers
Suspicious patterns
Pattern detector not connected — needs join-time + IP signals from backend.
Manual referral bonus
Award referral bonus to a single user.
Rewards · Airdrop
Eligibility scoring + CSV export. Manual reward log persists locally.
Eligibility rules
Eligibility summary
Run recompute to populate.
Manual reward log
Local only — moves to backend when ledger endpoint exists.
empty
Bot · Telegram
Public bot info + WebApp surface. Token-bound endpoints (broadcast, getMe) are server-side only.
Bot username
@shahnameh_bot
WebApp URL
https://shahnameh.setaei.com/season2/
Mini App
Configured
Edit via @BotFather → Configure Main Mini App.
Bot service
checking…
systemd unit shahnameh-bot.service
Test broadcast
Send a quick test message via the bot's outbox.
Broadcast endpoint not connected yet.
Season 2 launch message preview
⚔ REAL Shahnameh — Season 2 is live. Tap the orb. Forge legends. Earn REAL. 🎮 Play now: https://shahnameh.setaei.com/season2/
Security & Audit
Admin-action log (local), session info, sensitive-key hygiene checks.
Session
Hygiene
- Token kept only in this browser's localStorage.
- No sensitive token printed to the DOM.
- Bot token never exposed to the admin browser; admin proxies through backend.
Admin action log
empty