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.exe
on Windows,install.sh
on 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
packaging
Python 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.
psutil
Python packageappdmg
Node 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.