Bearded's Song Bot
Twitch !sr requests • Spotify queue • Bearded Tortle π’
Step 1 — Connect Spotify
Song Bot controls your Spotify, so it needs a free Spotify developer “app” (just an ID — no coding). Takes ~2 minutes.
You'll paste this Redirect URI into Spotify — it must match exactly:
- Go to developer.spotify.com/dashboard and log in with your Spotify account.
- Click Create app.
- App name and description: anything (e.g. “My Song Bot”).
- Redirect URI: paste the URI above, then click Add.
- Under “Which API/SDKs are you planning to use?” tick Web API.
- Tick the terms checkbox and click Save.
- Open your new app → Settings → copy the Client ID.
- Paste it below and click Save.
Authentication
Checking…
Spotify Connect devices
The Spotify desktop app must be open and recently active (play/pause something inside it) to appear here. Click Transfer here to make a device the playback target for the controls below.
Playback control
Nothing queued yet.
Up next
- (connect Spotify to see the queue)
Ban list
Banned songs and artists are blocked from being queued via
!sr, search results, or the manual queue input.
Persisted in localStorage so they survive reloads.
Checks each track as it comes on and skips it within a few seconds. Needs an active Spotify device.
Search to ban
Search Spotify for an artist or a track and add the result to the ban list. Banning an artist blocks every track by that artist; banning a track blocks just that one.
Banned songs
Banned artists
Requests & limits
Per-viewer rate limits by Twitch role, plus request stats. Higher roles
get lighter limits. Cooldown is seconds between a
viewer's requests; max in queue is how many of their
songs can be waiting at once. Set either to 0 for unlimited.
Reads chat badges, so no Twitch login or API is needed. (Follower-only lives under Twitch chat since it needs the API.)
| Role | Cooldown (s) | Max in queue |
|---|
Request stats
No requests yet.
Twitch chat (!sr)
Read-only connection to your own Twitch chat — the
channel is taken from the Twitch identity you connect below, so connect
that first. When a viewer types !sr <song>, Song Bot
searches Spotify and queues the result on your active Connect device.
No !sr received yet.
Step 2 — Connect Twitch
This tells Song Bot which channel to join (your own, from your login), lets it post confirmations in chat, and powers the optional follower-only check. Like Spotify, it needs a free Twitch developer “app” (just an ID). Your Twitch account must have 2-factor auth enabled to create one. Token lasts ~60 days, then you'll reconnect.
Paste this OAuth Redirect URL into Twitch — must match exactly:
- Go to dev.twitch.tv/console/apps and log in (first time: accept the developer terms).
- Click Register Your Application.
- Name: anything unique (e.g. “YourName Song Bot” — Twitch names are global).
- OAuth Redirect URLs: paste the URL above, then click Add.
- Category: Chat Bot. Client Type: Public.
- Click Create, then open the app and copy its Client ID.
- Paste it below, click Save, then Connect Twitch identity.
Connect Twitch identity above to enable this toggle.
Channel Points
Let viewers redeem a channel-point reward to request or skip a song.
Setup: (1) reconnect your Twitch identity if prompted
(this needs the channel:read:redemptions permission);
(2) create the reward(s) in your Twitch dashboard — for a song
request, tick "Require viewer to enter text"; (3) map each
reward's exact title below.
Disabled.
OBS auto-pause
Connects to OBS via obs-websocket v5 (built into OBS
28+). When you switch to a scene that isn't marked as a
music scene, or you hide an audio-bearing source, Spotify is
paused automatically. Switching back resumes. Enable obs-websocket
under Tools → WebSocket Server Settings in OBS, set a
password, and paste it here. Address + password are stored in
localStorage.
Current scene: —
Music scenes
Tick each scene that should let Spotify play. When the live program scene isn't ticked, Spotify gets paused; switching back to a ticked scene resumes. Persisted by scene name.
- (connect to OBS to see scenes)
Audio-bearing sources
Tick any source whose visibility in the current scene should drive Spotify pause/resume. Hiding any ticked source in the live scene pauses Spotify; showing it again resumes. Useful for "BRB placeholder" overlays or muting the music while a clip plays.
- (connect to OBS to see sources)
Scene songs
Play a specific Spotify song the instant you switch to a scene — perfect for an end-scene track. Paste a Spotify song link, pick the scene, and Add. It starts the song from the top and won't be auto-paused. (Needs an active Spotify device.)
Search tracks
Each result has a Queue button that adds the track to the queue on the selected device.
Overlay theme
Fully customise the on-stream now-playing overlay. Changes apply live to the preview below and to OBS. Start from a preset, then tweak anything — colors, fonts, sizes, position, and what's shown. Export a look to reuse or share it.
Now-playing overlay
Separate page Song Bot updates with the current track. Paste the URL
below into an OBS Browser Source — it's the
plain-HTTP port served by server.js, which avoids OBS's
self-signed-cert dance and bridges live updates over Server-Sent
Events. No audio is produced by this page —
it's text and album art only, so adding it to OBS won't double up
Spotify's sound.
Cross-device sync
Back up and sync your settings (ban lists, limits, stats, theme,
channel-point mappings, and the follower-only / requests toggles)
across browsers and computers via server.js. Pick a
private passphrase — it's the key to your data,
so make it strong and use the same one on each device.
Tokens and passwords are never synced.