PlexRPC is a modern, lightweight, and user-friendly application that syncs your Plex media status to your Discord profile.
Unlike other scripts that require editing complex JSON config files, PlexRPC features a Unified Setup Wizard that handles everything for you—from secure login to custom library settings.
The latest update brings major stability improvements and user-requested features:
- 👻 Privacy Mode: Temporarily pause your Rich Presence directly from the system tray without closing the app. Perfect for when you want some privacy.
- 🟢 Dynamic Status Icons: The system tray icon now changes color to reflect your status instantly:
- 🟢 Green: Playing
- 🔵 Blue: Paused
- ⚪ Grey: Privacy Mode (Paused Presence)
- 🟠 Orange: Idle (No active session)
- 🔴 Red: Connection Error
- 🛠️ Robust Reset: The "Reset Config" option has been completely rewritten to prevent freezing.
- 🧹 Auto-Maintenance & Better logging: Auto-Maintenance & Better Logs: On launch, the app automatically cleans up bloated log files ('app.log') to save space. I've also refined the logging system to cut out the noise while preserving critical debug info.
- 🆔 Identity Fix: Improved user matching ensures the app grabs the correct session even if your "Friendly Name" differs from your username.
- 🎵 Enhanced Metadata: Music now correctly displays "by Artist" on the second line and the Album Name in the hover text and 3rd line.
- 🧙♂️ Configless Setup: A guided GUI walks you through linking your account, selecting your server, and picking your user profile.
- ☁️ Cloud Metadata API: Powered by a custom backend to fetch high-quality covers from TMDB (Movies/TV), Google Books (Audiobooks), and Spotify (Music).
- 🎧 Audiobook Recognition: Smartly detects audiobook libraries to display book covers and author details instead of generic placeholders.
- 👥 Multi-User Support: Works perfectly with Plex Home / Managed Users. You pick exactly which profile to track (great for shared family servers).
- 🛡️ Silent & Secure: Runs silently in the System Tray with secure API headers.
- 🚀 Run on Startup: A true "set and forget" experience. You can now toggle Run on Startup directly from the System Tray menu.
- ⏯️ Smart Pause Detection: The app now detects when you pause your media. It updates your status text to "(Paused)" and hides the progress bar so your timer doesn't drift.
- 👀 Dynamic Activity Status: Discord now correctly displays "Watching Plex" for movies/series and "Listening to Plex" for music/audiobooks.
- 📊 Universal Progress Bar: Added beautiful progress bars for Video content, Music tracks and Audiobooks.
- Download the latest
PlexRPC.exefrom the Releases Page. - Double-click to run.
- Follow the Setup Wizard:
- Login: A browser window will open. Click "Approve" to link your account securely.
- Server: Choose which Plex Media Server to track.
- User: Select your specific user profile.
- Libraries: (Optional) Check any libraries that contain Audiobooks for enhanced metadata.
- Done! The app will minimize to your system tray.
- (Optional) Right-click the tray icon and check "Run on Startup" to have it launch automatically with Windows.
TV Series

Movies

Music

Audiobook

"I want to reset my settings"
- Option 1 (Easiest): Right-click the PlexRPC icon in your System Tray and select Reset Config.
- Option 2 (Manual): Delete the file:
C:\Users\%USERNAME%\AppData\Roaming\PlexRPC\config.json
"It says Idle when I'm playing something"
- This usually means you selected the wrong User Profile during setup.
- If your server has "Admin" and "Kids", make sure you select the one you actually watch on.
If you want to run from source or build it yourself:
-
Clone the repo:
git clone https://github.com/malvinarum/Plex-Rich-Presence.git cd Plex-Rich-Presence -
Install dependencies:
pip install -r requirements.txt
-
Setup backend (If you want to use your own API):
- PlexRPC API (Node.js)
- PlexRPC API - Serverless (Cloudflare Worker - Recommended)
-
Run locally:
python main.py
-
Build .exe (PyInstaller): If you want to build the standalone executable, use the provided spec file:
pyinstaller PlexRPC.spec
(Or manually:
pyinstaller --noconsole --onefile --icon=assets/icon.ico --name=PlexRPC --add-data "assets;assets" main.py)
This project is open-source. Feel free to fork, modify, and distribute.
PlexRPC is a community-developed, open-source project. It is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Plex, Inc., Discord Inc., or any of their subsidiaries or affiliates.
- The official Plex website can be found at https://www.plex.tv.
- The official Discord website can be found at https://discord.com.
The names "Plex", "Discord", as well as related names, marks, emblems, and images are registered trademarks of their respective owners. This application is intended for personal, non-commercial use only.