Platforms and extras
Gaming platforms
Section titled “Gaming platforms”Each user connects their own accounts in Settings → Connected services → Add integration. Nothing to set on the server. Playdex checks every account once a minute.
When a platform keeps rejecting an account’s key or token (an expired NPSSO, a revoked key), Playdex pauses that account after about 30 minutes and shows why under Connected services. Update the key under Manage, then Resume.
| Platform | What the user enters | Where to get it |
|---|---|---|
| Steam | Steam Web API key, Steam ID | steamcommunity.com/dev/apikey. Set the profile’s Game details to Public. |
| PlayStation | NPSSO token | Sign in at playstation.com, then open ca.account.sony.com/api/v1/ssocookie. |
| Xbox | OpenXBL API key | xbl.io |
Switch, retro and anything else: log sessions by hand or with a timer.
Game search (IGDB)
Section titled “Game search (IGDB)”Lets users find any game when they log a session by hand. Without it, search only shows games already in Playdex.
Create an app in the Twitch developer console, then set:
IGDB_CLIENT_ID=...IGDB_CLIENT_SECRET=...Telegram notifications
Section titled “Telegram notifications”Messages when a session starts or ends, when an account stops syncing, and when one is paused. Messages not sent yet are kept in the database and sent after a restart.
- Create a bot with @BotFather and set
TELEGRAM_BOT_TOKENin.env. - Each user messages the bot once, then saves their chat ID in Settings → Telegram notifications.
AI drafts
Section titled “AI drafts”Users paste a note or a screenshot, and AI drafts the sessions for them to review.
AI_DRAFTS_ENABLED=trueAI_DRAFTS_API_KEY=sk-...AI_DRAFTS_MODEL=...Pick a model that reads images and supports structured outputs. That setup uses OpenAI. For OpenRouter, also set:
AI_DRAFTS_PROVIDER=openrouterAI_DRAFTS_BASE_URL=https://openrouter.ai/api/v1/chat/completionsEach user can make 10 requests an hour. Inputs are kept for 30 days.
After changing .env, apply it with docker compose up -d.