Skip to main content

Song control

Lumia integrates with Spotify (and other supported music services) for chat-driven song control. Two commands ship as defaults - !song and !songrequest - and two variable functions ({{song_queue}}, {{song_voteskip_start}}) are available to bind to your own commands.

Currently playing

!song - replies with the current track and artist. Reads from the active music service. If no song is playing, the configured offline response fires.

The underlying variables are {{spotify_now_playing_song}} and {{spotify_now_playing_artist}}, so you can format the reply however you like.

Song requests

!songrequest <query> - search for a track and add it to the queue.

  1. The query is sent to Spotify search.
  2. The top match is added to Spotify's own play queue via the native queue API.
  3. The reply confirms the queued track.

Because requests go straight into Spotify's native queue, Lumia does not maintain a separate, mutable request registry - there is no per-request "remove" or "clear" in Spotify mode. To reorder or clear, use Spotify directly.

Building-block functions

These functions are not bound to a default command, but you can drop them into any custom chatbot command, template, or action.

Variable functionEffect
{{song_queue}}Returns the recent song requests as Queue: track, track, …, or No queued song requests when empty.
{{song_voteskip_start}}Starts a vote-skip and returns Vote-skip started. Type !yes to vote. Viewers then vote by typing !yes.

To expose them in chat, make a command whose response is the function - e.g. a !songqueue command with the response {{song_queue}}, or a !voteskip command with {{song_voteskip_start}}.

Service support

Spotify is the primary integration. Other supported services (where applicable):

  • Apple Music (via local helper)
  • Pretzel
  • YouTube Music (limited - currently-playing only)

Song requests specifically require a service that exposes a search + queue API. That's Spotify-only at the moment. The currently-playing variables resolve against whichever service Lumia is connected to.