> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mira.party/llms.txt
> Use this file to discover all available pages before exploring further.

# Spotify

> Control your own Spotify playback from Discord.

Unlike [music](/audio/music), which plays in a voice channel, this controls **your** Spotify — on your phone, desktop or any other device you're signed in on.

Requires Spotify Premium, because Spotify's API doesn't allow playback control on free accounts.

## Connecting

```javascript theme={null}
!spotify connect
```

Aliases: `auth`, `login`, `link`. Opens Spotify's authorisation page. Disconnect with `!spotify disconnect` (aliases `unlink`, `logout`, `dc`).

## The now-playing panel

```javascript theme={null}
!spotify now
```

Aliases: `np`, `nowplaying`, `current`. An interactive panel with playback controls — the most useful command in the group, because everything else is one button away.

```javascript theme={null}
!spotify buttons on
```

Toggles whether those controls appear on other Spotify responses too.

## Playback

| Command                   | Aliases        | Effect             |
| ------------------------- | -------------- | ------------------ |
| `spotify play <track>`    | `start`, `p`   | Play immediately   |
| `spotify pause`           | `stop`, `pa`   | Pause              |
| `spotify resume`          | `res`          | Resume             |
| `spotify skip`            | `next`, `sk`   | Next track         |
| `spotify previous`        | `prev`, `back` | Previous track     |
| `spotify seek <position>` | `sc`           | Jump to a position |
| `spotify volume <volume>` | `vol`, `v`     | Set volume (0–100) |
| `spotify shuffle <state>` | `sh`           | Toggle shuffle     |
| `spotify repeat <state>`  | `loop`, `r`    | Set repeat state   |

## Queue and library

<CodeGroup>
  ```javascript Add to the queue theme={null}
  !spotify queue some song
  ```

  ```javascript View the queue theme={null}
  !spotify queue
  ```

  ```javascript Like the current track theme={null}
  !spotify like
  ```

  ```javascript Unlike it theme={null}
  !spotify unlike
  ```

  ```javascript Add to a playlist theme={null}
  !spotify addto
  ```
</CodeGroup>

`spotify addto` (aliases `save`, `addplaylist`) opens a dropdown of your playlists — no track argument needed if you want the current one.

## Devices

```javascript theme={null}
!spotify device
```

Aliases: `devices`, `dev`, `transfer`. Lists your active Spotify devices and lets you move playback between them. Useful when playback commands appear to do nothing — usually it's targeting a device you're not listening on.

## Searching

<CodeGroup>
  ```javascript Tracks theme={null}
  !spotify some song
  ```

  ```javascript Albums theme={null}
  !spotify album some album
  ```

  ```javascript Artists theme={null}
  !spotify artist someone
  ```

  ```javascript Playlists theme={null}
  !spotify playlist chill
  ```

  ```javascript Your playlists theme={null}
  !spotify playlists
  ```
</CodeGroup>

Aliases: `al`, `ar`, `pl`, `mpl`.

## Lyrics

```javascript theme={null}
!spotify lyrics
```

Lyrics for whatever's currently playing. Aliases: `lyric`, `lyr`.

Standalone lyric search is `!lyrics <query>`, which uses Genius.

## Common problems

<AccordionGroup>
  <Accordion title="Commands do nothing">
    Spotify needs an **active device**. Play something in the Spotify app first, then use `!spotify device` to confirm mira is targeting the right one.
  </Accordion>

  <Accordion title="Playback control is refused">
    Playback control requires **Premium**. Free accounts can still use the search, now-playing and lyrics commands.
  </Accordion>

  <Accordion title="It stopped working">
    Authorisation tokens expire. Run `!spotify connect` again — the flow is quick the second time.
  </Accordion>
</AccordionGroup>

## Related

* [Last.fm](/lastfm/setup) — scrobbles, charts, and who-knows leaderboards
* [Music](/audio/music) — a shared queue in a voice channel
* `!play presence` — queue what you're listening to into the voice channel

## Command reference

| Command                     | Aliases                  | Description            |
| --------------------------- | ------------------------ | ---------------------- |
| `spotify connect`           | `auth`, `login`, `link`  | Link your account      |
| `spotify disconnect`        | `unlink`, `logout`, `dc` | Unlink                 |
| `spotify now`               | `np`, `nowplaying`       | Interactive panel      |
| `spotify play <track>`      | `start`, `p`             | Play a track           |
| `spotify pause` / `resume`  | `pa` / `res`             | Pause and resume       |
| `spotify skip` / `previous` | `next` / `prev`          | Change track           |
| `spotify seek <position>`   | `sc`                     | Seek                   |
| `spotify volume <volume>`   | `vol`, `v`               | Volume                 |
| `spotify shuffle <state>`   | `sh`                     | Shuffle                |
| `spotify repeat <state>`    | `loop`, `r`              | Repeat                 |
| `spotify queue [track]`     | `q`                      | Queue or view it       |
| `spotify like [track]`      | `l`, `heart`             | Save to library        |
| `spotify unlike [track]`    | `ul`, `dislike`          | Remove from library    |
| `spotify addto [track]`     | `save`, `addplaylist`    | Add to a playlist      |
| `spotify device`            | `devices`, `dev`         | Switch device          |
| `spotify album <query>`     | `al`                     | Search albums          |
| `spotify artist <query>`    | `ar`                     | Search artists         |
| `spotify playlist <query>`  | `pl`                     | Search playlists       |
| `spotify playlists`         | `mpl`, `pls`             | Your playlists         |
| `spotify lyrics`            | `lyric`, `lyr`           | Current track lyrics   |
| `spotify buttons (on/off)`  | `controls`               | Toggle control buttons |
