Skip to main content
Aliases: now, np, fm. Pass a member to see theirs. This is the command people actually use, so it’s worth making it look how you want. Everything on this page is per-user — your settings follow you into every server mira is in.

Embed styles

Alias: style. !mode <style> is the standalone shortcut.

Custom embeds

Pass a script instead of a style name:
Preview yours with !lastfm mode view, reset with !lastfm mode remove.

Reacting to what’s playing

Two variables are worth wrapping in a conditional rather than printing raw. {track.nowplaying} is True only while the track is actually playing, and {track.timestamp} is the unix time it was scrobbled. Printed on their own you get True and 1757894400, which isn’t much use — the point is to swap between now playing and when it was played:
{not:} is the same test inverted, which reads better when you only want the one branch — show the timestamp unless it’s playing right now:
Crowns work the same way. {lastfm.artist_crown} and the per-object {track.crown} / {artist.crown} / {album.crown} are empty unless you hold it, so they’re truthy exactly when there’s something to show:
And {track.has_image} guards artwork that might not exist:
The first line shows a relative timestamp only for tracks you’ve finished, so a live scrobble stays clean. The third adds a crown only when you’re the server’s top listener for that artist.

Available variables

Four objects are available: {track}, {artist}, {album} and {lastfm}. Each one rendered on its own gives you its name, so {track} is the same as {track.name}.
Aliases: {track.now_playing} and {track.is_now_playing} for nowplaying; {track.ts}, {track.played_at}, {track.played_timestamp} and {track.played_at_timestamp} for timestamp; {track.wkt}, {track.wktrack}, {track.whoknowstrack}, {track.whoknows_track}, {track.wk_pos} and {track.wk_position} for the rank.
Aliases for the rank: {artist.wk}, {artist.wk_pos}, {artist.wk_position}, {artist.whoknowsartist}, {artist.whoknows_artist_position}.
Aliases for the rank: {album.wka}, {album.wkalbum}, {album.whoknowsalbum}, {album.whoknows_album}, {album.wk_pos}, {album.wk_position}.
{old_track} is whatever you played before the current one, and carries every property {track} does.{old_artist} and {old_album} are also available on their own. Each of the three has three aliases — swap old_ for previous_, prev_ or last_, so {prev_track}, {last_artist} and {previous_album} all work.

On every name

{track}, {artist}, {album} and {lastfm} all accept three extra properties:
{track.crown} and the has_* variables pair well with conditionals — show a crown emoji only when you actually hold one, or fall back to a placeholder when a track has no artwork.

Server-wide styles

Requires Manage Server. Applies to everyone who hasn’t set a personal style, which stays a personal override.

Vote reactions

Custom upvote and downvote emojis added to your now-playing messages. Aliases: reaction, reacts, react.
remove turns reactions off entirely; reset goes back to the defaults. The server variants require Manage Server.

Vote stats

Vote reactions turn now-playing from an announcement into a conversation. A music server with a 🔥/💀 reaction pair and a leaderboard develops opinions fast.

Live updating

Edits your now-playing message in place as you change tracks, instead of you re-running the command. Aliases: realtime, edit, rt.

Custom command

Sets a personal alias for your now-playing command. Aliases: cmd, cc. Remove with !lastfm command remove.

Reskin — posting as yourself

Reskin sends mira’s replies through a webhook, so they appear under a name and avatar of your choosing rather than the bot’s. Pointed at Last.fm, it makes !fm look like you posting the track — with the album art as the avatar.

Avatar

Aliases: icon, pfp, av.

Username

on gives you {artist}. Pass a template instead and you can use {artist}, {track}, {album} and the rest of the now playing variables.
Setting either of these turns your reskin on automatically — you don’t need to run !reskin toggle as well.The one thing you can’t do yourself is enable reskin in the channel. That’s a moderator job, once per channel:
Needs Manage Webhooks and Manage Server. Until it’s set, your settings are saved but nothing changes visually.
!lastfm reskin on its own shows your current settings; !lastfm reskin remove clears them. The bot’s server avatar can rotate through album art from members’ listening:
Requires Manage Server. !lastfm featured shows what’s currently featured; !lastfm featured history shows past picks.

Who’s listening right now

Everyone in the server currently listening to something. Aliases: listeners, listening.

Command reference