Multi-platform background service that shows what you're scrobbling on Last.fm to on Discord, with automatic updates, cover art image, support for Discord Canary and a UI for changing settings.
Based on Last.fm-Discord-Rich-Presence by Gust4Oliveira
| Windows | macOS | Linux (generic) | Linux (Flatpak) | |
|---|---|---|---|---|
| Basic Function | ✅ | 🟥 | ✅ | 🟥 |
| Building/Packaging | ✅ | ✅ | ✅ | 🟧 |
| Start with System | ✅ | 🟧 | 🟧 | 🟥 |
| Updates | ✅ | 🟥 | 🟧 | ➖ |
✅ Fully working | 🟧 Needs testing/WIP | 🟥 Not working | ➖ Not applicable
- Download the latest release
- Run the installer
*setup.exeon Windows,install.shon Linux (generic)
- Wait a bit and the app's settings will open. Type in your Last.fm username and close the window.
- Done!
Discord.fm provides a setup script with some useful functions for devs. A full list of parameters can be viewed by running the command
python setup.py -h or simply running the script with no flags or commands.
The app can also be run unfrozen by running python setup.py run. Check requirements and full instructions below:
- Python 3.12 or above
- uv
- tkinter
packagingPython package
- C compiler (GCC, MSVC, etc.)
- PyInstaller is used to freeze the app for distribution. However, using pip to install it will trigger false positives in many antiviruses. This is why we will need to build it ourselves, and thus the need for a C compiler. More info here.
psutilPython packageappdmgNode package (macOS only)- Inno Setup (Windows only for installer building)
[!WARNING] > On Linux PyGObject dependencies are required by pystray for running or building - follow instructions for "Installing from PyPI with pip" for your distro on this link: https://pygobject.gnome.org/getting_started.html
Windows
- Visual Studio with the C++ development option includes MSVC, if you don't have VS I recommend MSYS2 - includes GCC
Linux
- tkinter might not be included in your installation, check by running
python -m tkinter. Check install help for you distro here: https://stackoverflow.com/a/25905642
macOS
After all requirements are met, clone the repo:
git clone https://github.com/androidWG/Discord.fm
cd Discord.fm
The setup script will set everything up when you before running any of its commands. You can set it up yourself manually too - the script checks for dependencies and other things, but ultimately setup is a single call for uv sync with arguments. Copy the command under the sync method in the setup.py file and run to install dependencies.
python setup.py run
python setup.py build
The script will set up anything if needed, then build the app and subsequently the installer (only on Windows) - both only for the current platform. You can pass the flag
--installer-only or --build-only to skip the other step.

