This is just a really simple Electron wrapper around the Koel Music Server web client that sends the current track info to Discord Rich Presence. I love Koel and this helps me with my personal use-case for it. Hopefully this helps you too since you found yourself here 🤝❤️ and I encourage you to go show your support to Phan An for making such a great music service.
There are 3 states to this client reflected in Discord RPC: idle browsing, actively playing, and a paused timeout. The default timeout is 1 minute, because I figure if it's paused over 1 minute you probably don't want to be showing it in Discord anymore. You can change this in the config.
Now supports "Listening to" Discord RPC and timeline progress. When paused, the timeline will change to a timer until idle timeout.
Album title tooltip as expected

- Create an application in the Discord Developer Portal to get your client ID and secret.
- Clone this repository and, assuming you have Node.js installed, run
npm installto install the dependencies. - Copy
config.example.jsonto createconfig.jsonand copy your Koel web client URL and Discord application strings to it respectively. Put your preferred callback URL in both the config and your Discord application settings - it is required by RPC via OAuth but unused by this application so it can be anything. - Run
npm startto test the application is working correctly. - Run
npm run buildto package the application for Windows x64. You can modify thebuildscript inpackage.jsonto change the target.
The packaged application will be in the /builds directory. You can run the executable or create a shortcut to it for desktop / start menu / taskbar pinning.
That's it ❤️ happy listening!

