Setup and now playing
Link your Last.fm account, post what you're playing, and restyle the card until it looks like yours.
Linking takes one command. What you do afterwards is mostly about the now-playing card: who it shows, what colour it is, which emotes sit under it, and whether you can summon it without typing a prefix at all. This guide covers the link, the card, and every setting attached to it.
For the map of the whole Last.fm section, including which tier each feature needs, start at the Last.fm overview.
Link your account
Run the set command
,lastfm set <username>, or /lastfm set. Use your
Last.fm username, the one in your profile URL, not the email you sign in with.
Wait for the library sweep
Linking pulls your top artists, albums and tracks into the bot. On a large account that takes a couple of minutes and shows a running counter.
Check it worked
Play something, then run ,np. If a card comes back with your track
on it, you're done.
Your account needs at least one scrobble before it can be linked. A brand-new Last.fm account with nothing on it is rejected, because there is nothing to verify against.
Re-linking a different username wipes your stored history
Linking a new name means the stored plays belong to someone else, so they're deleted rather than merged. Interleaving two people's listening would make every date answer quietly wrong. Re-linking the same name is safe.
Post what you're playing
,np is the short form, aliased ,fm. The same card is available as
,lastfm np and /lastfm np.
Add a mention and you get their card, not yours. That's deliberate, and it's the opposite of how most other commands in this family treat a mention — showing someone else's music is this command's entire job.
Three siblings behave the same way: ,lastfm lyrics
(Boosting Premium) and ,lastfm spotify also read the
mentioned person's track. Everywhere else, a mention plus no track means "how much do you listen
to what I'm playing".
For a link to the track on every platform at once, use
,lastfm link. Four per-platform commands narrow the same
card to one service: spotify,
youtube,
apple and
soundcloud.
Open the settings panel instead of memorising commands
,lastfm fmconfig, aliased ,lf config, or
/lastfm settings panel. It's a six-page panel over every personal Last.fm setting you have:
overview, appearance, now playing, reactions, recent and reset.
The panel itself is free to open. Each control on it carries the same tier as the command that owns the field, so you can see what a paid setting does before deciding whether you want it. Only you can press the buttons on your own panel.
Restyle the card
These four are Self Premium.
| Setting | Command | What it does |
|---|---|---|
| Accent colour | ,lastfm color <album|#hex> | A fixed hex, or album to pull the colour out of the cover art on every track |
| Layout | ,lastfm mode | Replace the built-in card with your own embed code |
| Reactions | ,lastfm react <up|down|mid|off|on|reset> [emote] | The emotes Righteous adds under your card, or none at all |
| Trigger word | ,lastfm customcommand <trigger|reset> | A word of your choosing that posts your card |
,lastfm color album is worth calling out. It reads the dominant colour from the album art each
time the card renders, so the accent changes with the music instead of staying one hex forever.
Artwork the bot can't read falls back to your stored colour.
Write your own card layout
,lastfm mode takes a custom embed code, which is the same
templating language welcome messages and custom embeds use. On slash it's /lastfm embed set, which
opens a box you can type multiple lines into.
Run ,lastfm variables to see every token an embed code
understands, including the Last.fm-specific ones. That command is free, on purpose, so you can read
the reference before buying the thing that uses it.
If your custom card is slow, you get the built-in one first
A custom layout that takes a while to build sends the standard card immediately and then edits it into yours when it's ready. You'll occasionally see the plain card for a second. If a render fails outright, the built-in card stands rather than showing you a broken embed.
Summon the card with no prefix at all
Boosting Premium members can type their own name followed by fm, with no prefix at all, and get
their card. Righteous matches your Discord username, your display name and your server nickname —
whichever one people know you by works.
A trigger set with ,lastfm customcommand is
additive, not a replacement. Setting a custom word doesn't switch the name trigger off, and
,lastfm customcommand reset clears the custom word without touching it. Your chosen word can't
shadow a real command name.
Keep your play counts current
Play counts, WhoKnows and crowns read your stored library rather than asking Last.fm live, which is
why they answer instantly and why they can drift. Run
,lastfm update to refresh it. That's free and always has
been.
Righteous can also refresh it in the background, silently, so you rarely need to. Whether it does depends on your tier.
| Who you are | Background refresh |
|---|---|
| No premium | Off |
| Boosting Premium | Refreshed on a fixed schedule |
| Self Premium | Your own interval, set with ,lastfm autoupdate <hours|off|default> — 12 to 168 hours |
| In a Server Premium server | The server's interval applies to you, even without personal premium |
A personal setting always wins over the server's, including an explicit off. default puts you
back to inheriting. The same three choices are on the panel's History page as a set of radio
buttons.
The background refresh is genuinely silent. The command that triggers it answers with whatever data it already had, and the next command you run sees the fresh numbers.
Set server-wide defaults
Server owners and admins with Manage Server can set a house style under
,lastfm server: color, upvote, downvote, midvote
and npmode. These are Server Premium.
They apply to members who haven't set their own. Anyone who bought Self Premium and configured a personal colour or layout keeps it — the server default exists to give a good-looking card to the people who haven't paid for one, not to overrule the ones who have.
Both sides are re-checked every time a card renders. If a subscription lapses, the stored value stops applying and the built-in default comes back.
Unlink, or start the settings over
Two different commands, and the names are easy to mix up.
,lastfm settingsreset resets your display
settings (colour, reactions, layout, timezone) and keeps your account linked. It's free.
,lastfm reset confirm unlinks the account and deletes
your cached artists, albums, tracks and synced scrobble history. It needs the word confirm,
because rebuilding a synced history takes minutes of work. On slash it's /lastfm logout with an
explicit confirm option.
Common issues
"Invalid LastFM." No account is linked to your Discord ID. Run
,lastfm set <username>.
Setting the username failed. Check the spelling against your profile URL, and check the account has at least one scrobble on it. A private Last.fm profile can't be read either.
Your play counts are behind. Run ,lastfm update. If
you expected them to be current on their own, check the background-refresh table above — that's a
tier feature.
"Your library is already updating." A refresh is in flight, including one Righteous started in the background. Give it a moment and run it again.
Your name trigger does nothing. It needs Boosting Premium, and it matches your name exactly — extra characters on the end won't fire it. Very short names are ignored so they can't turn a common word into a trigger.
Your custom card renders as plain text. That's the built-in fallback. Check your embed code
against ,lastfm variables for a token that no longer
exists.