everything's up and runningsee status
// STREAMION.BOT DOCS

All about streamion.bot.

Sign-in flow, chat commands, event responses, alerts, music integrations — the full reference for your bot configuration.

Spotify

Spotify integration

Connecting Spotify gives streamion.bot access to your Spotify session and enables two groups of features:

  • Read-only display commands!song, !playlist, !nexttracks.
  • Chat-driven song requests!sr, along with moderator-only playback control (!skip, !playsong, !stopsong) and a per-channel blacklist that prevents unwanted artists or keywords from being added to the playlist.

Spotify is one of two music providers streamion.bot supports; the second is YouTube Music. You can have both connected at once, but only the active provider (selected on Settings → Music) receives chat commands at any given time.

Connecting

  1. Open /settings/music. The page shows two cards — Spotify and YouTube Music — side by side.
  2. On the Spotify card, click Connect Spotify.
  3. You are redirected to Spotify's authorization page; approve the request.
  4. You are redirected back. The Spotify card now shows Connected along with the account name.
  5. If Spotify should be the source for chat commands, select Spotify as the active provider at the top of the page.

The OAuth scopes (the individual permissions Spotify is asked to grant) streamion.bot requests are: user-read-currently-playing, user-read-playback-state, user-modify-playback-state, playlist-read-private, playlist-read-collaborative, playlist-modify-public, playlist-modify-private. If a stored connection is missing any of these (typically because new scopes were added in a later streamion.bot release), the card shows an explicit warning and a Reconnect button. Spotify's automatic token refresh never adds scopes that were granted later, so a manual reconnect is the only way to update the set.

Playlists page

The Playlists page (/playlists) is where you decide which playlist song requests land in.

  • Saved playlists (top table) — playlists you've imported from your Spotify library. Exactly one can be Active at a time. Song requests in playlist mode go into the active one.
  • Your Spotify playlists (bottom table) — fresh from your Spotify library. Click Refresh to load it.

Each playlist row shows an ownership chip:

  • 🟢 Yours — the playlist is owned by your Spotify account. !sr can add tracks to it.
  • 🟡 Following / Not yours — you only follow this playlist (e.g. a Spotify-curated or community playlist). Spotify does not allow other users to add tracks to a playlist they do not own, so !sr would be rejected if this is your active playlist. Pick a playlist with the Yours chip instead, or create a new one in Spotify and import it.

Other actions: View tracks, Activate / Deactivate, Delete (removes from streamion.bot, not from Spotify).

Song request settings

/settings/music carries a Song Requests · Spotify card with all per-channel options while Spotify is the active provider and the connection is healthy. Every field auto-saves on change; no Save button is required, and a short confirmation appears for each change.

SettingDefaultWhat it does
Enable song requestsonMaster switch. When off, !sr replies "Song requests are currently disabled."
ModeActive playlistWhere requests go — see below.
Max. track length7 minTracks longer than this many seconds are rejected. Empty = no limit. Range 30 s – 30 min.
Block explicit tracksoffReject any Spotify track flagged explicit.
Duplicate checkonReject a track that's already in the active playlist (playlist mode only).
Max. requests per user per streamunlimitedEach chatter can successfully request at most this many tracks per stream session. Failed attempts (not found, blocked, etc.) don't count. The counter resets when the channel goes online (Twitch stream.online event). Empty = no limit. Range 1 – 100.

Modes

  • Active playlist!sr appends the track to the playlist marked Active on the Playlists page. Requires the playlist to be owned by your Spotify account.
  • Spotify queue!sr adds the track to Spotify's player queue (the same queue you'd see in the Spotify app's "Queue" view). Tracks are temporary: once they have played, they are gone. Requires Spotify to be actively playing on a device — without an active device the chatter sees "Could not queue track — Spotify is not playing on any device."

Blacklist

/settings/spotify/blacklist lets you block artists or keywords from being requested.

  • Artist blacklist — type the artist name in the dialog and streamion.bot looks it up on Spotify to identify the exact artist. The whole artist (including features and collaborations) is blocked. You can also paste a Spotify URL (open.spotify.com/artist/…), URI (spotify:artist:…), or the bare artist ID — the dialog accepts any of those.
  • Keyword blacklist — case-insensitive match against the track name and every artist name. Useful for blanket bans like "baby shark" or "christmas".

When !sr blocks a track, the chatter gets "that track is blocked" (with your optional reason in parentheses if you set one). Blacklist entries belong to your workspace only — they don't leak to other channels.

Chat commands

CommandPermissionBehavior
!song (alias !s)EveryonePosts the currently playing track.
!playlist (alias !pl)EveryoneShows the currently active saved playlist with a Spotify link.
!sr <input> (alias !songrequest)EveryoneRequests a song. Input can be a Spotify track URL, URI, or Artist - Title text. Free-text searches Spotify; if no exact match, retries as a generic search.
!nexttracks (alias !queue)EveryoneShows the next 3 tracks. In playlist mode, the next 3 from the active playlist (skipping past the current track if it's in there). In queue mode, the live Spotify player queue.
!skip (alias !next)ModeratorSkips to the next track.
!playsong (alias !play)ModeratorResumes Spotify playback.
!stopsong (aliases !stop, !pause)ModeratorPauses Spotify playback.

All defaults (triggers, aliases, permissions, cooldowns) can be overridden per channel on the Commands page.

Disconnecting

Click Disconnect on the Spotify card on /settings/music. streamion.bot deletes its tokens and removes the stored connection. To fully revoke access on Spotify's side as well, remove streamion.bot at spotify.com/account/apps.

Troubleshooting

  • !sr says "the active playlist isn't owned by the streamer's Spotify account" — Pick a playlist with the green Yours chip on the Playlists page, or switch the mode to Spotify queue.
  • !sr says "Spotify is not playing on any device" (queue mode) — Open Spotify and start playback on any device.
  • Spotify card shows "Missing scopes: …" — Click Reconnect to grant the new scopes. Required after any streamion.bot upgrade that adds new Spotify capabilities.
  • !sr says "Spotify connection needs re-authorization" — The stored token can't be refreshed; click Reconnect.