Synthlink is designed to be a tiny script that you can run in the background that will automatically update your "Now playing" status on Discord.
Due to discord limitations, it can't change the text displayed in the member list, that is defined by the application's name, but what it DOES change is what's shown in your profile.
It uses playerctl
to get what media is currently playing, so it should support basically any media. (Linux only)
Just run the script using the compiled binary, which is built using the Bun JS runtime and contains everything needed. Supports a few parameters for configuration:
--delay <num>
# default: 10000
# The delay in ms between heartbeats in which it checks if the media has changed to then update on discord.
--player <name>
# if the script can't auto-detect the application playing the media, specify the name here.
# common names include chromium (should capture most chrome based browsers), firefox, etc
# `playerctl metadata` should list all the names
--displayplayer <text>
# a vanity command to override the part where it shows the player name in the profile, you can just make it show anything you want
--fmt <format>
# default: "{{artist}} - {{title}}"
# the playerctl format string to access the playing media, see playerctl help for details.
--client <id>
# the discord app client ID, if you want to use your own
Requires Bun JS.
CD in to the source directory and run bun build synthlink.js --compile
, and then it should spit out a synthlink
binary file in the directory.