Shows what game you're playing on DeSmuME as your Discord status, including how long you've been playing. Works even if DeSmuME isn't the focused window.
Windows only.
Once running, it watches for a DeSmuME window and reads the ROM name from the title bar. When it finds one, it sets your Discord activity to show the game name and a running timer. If you close DeSmuME, it clears the status.
- Windows
- Node.js 18 or newer
- Discord desktop app (has to be running locally, not just the web app)
- DeSmuME
-
Clone this repo and install dependencies:
npm install -
Run it:
npm start
Open DeSmuME with a ROM loaded, and your Discord status should update within a few seconds.
No Discord application setup needed, this uses a shared Application ID baked into the project.
If npm install fails, it's most likely node-window-manager failing to build its native Windows bindings. Make sure you're on a supported Node version (18+) and standard x64 Windows. ARM64 Windows or unusual Node setups haven't been tested.
This reads the ROM name out of DeSmuME's window title by splitting on the pipe character (DeSmuME 0.9.13 x64 SSE2 | Game Name). If a future DeSmuME version changes that format, parseRomName in index.js will need updating to match.
If you want an icon next to your status, upload one in the Discord Developer Portal under Rich Presence > Art Assets, give it a key name, and set LARGE_IMAGE_KEY in index.js to match. Note this only works if you swap in your own Application ID, since the shared one uses assets already uploaded to its own Discord application.
- Only tested on Windows
- Only reports the ROM name, not in-game details (no per-game state like "in battle" or map name)
- If DeSmuME's title format changes in a future version, detection may break until the regex is updated
Pull requests welcome, especially for better title parsing or supporting other emulators.