Spotify Integration SPOT TO SB

Description

A Spotify integration for Streamer.Bot

OBS WS v5.x

ChangeLog (v0.4)

[Quality Of Life]

  • Introducing User Interface for the Configuration.
  • Option: Automatically start spotify desktop if not started yet.
  • Custom Triggers for a bunch events. ( Play / Pause / New Song / Volume Changed / New Request )

[Improvement]

  • Song request now accept spotify links.
  • Song request now display who reqested the song if showing it in chat.
  • Command to save current song to a Selected Playlist ( !sAdd )
  • Ability to save requested songs to a dedicated playlist
  • Command to requeue the current Song ( !sReplay )

[Optimization]

  • Complete rework for API call methods ( httpWebRequest → httpClient ).
  • Don’t use any CPH.SetGlobalVar methods in the watcher

[OBS overlay]

  • No more streamFX

Import File

spot2sb_0.4.16.sb (172.1 KB)

If you already have a previous version or any other spotify extension, remove all Actions and Commands before importing to avoid conflicts, or reaching API limits.

How To Remove All Variables

Click the Variable Viewer image

In the Filter write _sp2sb so you will be able to erase them all from here.

First Run : installation

Instruction (click to expand)

In order to get full functionality like song request [command !sr ] to add song to song queue , you MUST be premium spotify user. it’s not only because not being premium will cast ads too, but it’s also spotify API limitation.
Open your desktop application during the process so it will be recognized by Streamer.bot on the first connection.

  • streamer.bot import code : click on import , then drag and drop spot2sb.sb file to the import string field.
    image

  • go to Commands tab, right click on the spot2sb group name, on Group, go to Enable All
    image

  • you can now use !spotifyConnect command to configure everything.

  • In order to makes it working, you need to create a “spotify application”. This will give you the Client Id and Client Secret needed to interact with your account.

  • Click on the link on Top Right Corner image

  • You may need to connect with your spotify account with the Log in button on top right of the page
    image

  • Then after being logged, you can go back to that button to jump into your dashboard.
    image

  • if you have never made any application yet , you will need to create one from the Create App button
    image

  • you will need to give a name and a short description and paste http://127.0.0.1:1300/spotifyOAuthRedirectUri/ to the redirect uri field
    [ if you used the link from the U.I. that link is already copied in your clipboard ]image

  • don’t forget to tick the terms agreement and press save image

  • you will then get into your dashboard of that application. click on the settings button.image

  • there, just copy your clientId by clicking image image

  • then right click on the U.I. in the clientId field , it will directly copy it.
    image

  • to get your clientSecret click on View client secret image

  • copy it the same way using image
    image

  • then right click on the U.I. in the clientSecret field , to copy it.
    image

  • you can now use the Connect Button
    image

Configuration

(click to expand)

Select Device 2024-03-23_01-13-45

Select Playlist 2024-03-23_02-49-54

Toggle Buttons & Crossfade 2024-03-23_02-56-22

OBS Overlays
Make sure to be connected to OBS, and having most recent OBS plugins required.
image

OBS Plugins
Links to download plugins needed.
image

Edit Messages
Change most common messages to fit your langage.
image

Available Commands

(click to expand)
Command Parameters Permission Purpose
!spotifyConnect moderator First Command to Enable and run to start the U.I.
!sPlay moderator play / resume
!sPause moderator Pause the song [ won’t stop the progress bar from the actual method used ]
!sNext moderator Next Song in Queue
!sPrev moderator Previous Song
!sQueue optional number up to 10 queued elements all Display in chat the next song that will be played right after the current one.
!sr songName + artistName OR spotify Link all Will add the result to the queue.
!sLike moderator To Save a song to your Liked songs.
!sLink all Let your viewers get the spotify Links.
!sNow all Will post to chat the currently playing song ( useful if you choose to not display the song on song change and/or not displaying the overlay )
!sReplay moderator Add the currently playing song to the queue
!songOut moderator Will exclude the ability to add the currently playing song from song request
!excludedSongs moderator Will display every songs added to the banned song list. e.g. : 1 songs excluded 0 songName artistName
!songBack number corresponding to excludedSongs number moderator by the number returned by one of the responses from !excludedSongs
!sVol Number between 0 and 100 moderator change the volume of the player in percentage
!sAdd moderator Add currently playing song to selected playlist in the U.I.

example :

image

Custom Triggers

(click to expand)

image

Trigger Name Variables Type info
Play %songState% string “playing”
Pause %songState% string “paused”
New Song %songName% string
%artistName% string
%albumArt% string url
%songDuration% int millisec
%songLink% string url
Volume Changed %volumeLevel% int between 0 & 100
New Requested Song %requestedSong% string
%requestedArtist% string
%requesterName% string
%requestedAlbumArt% string url
%requestedSongLink% string url

OBS Overlay’s Requirements

(click to expand) - If you only use it to display new songs in chat, or only use html overlay, you don't need any OBS plugins. - If you want to use the song request function, you need a premium account.

plugins needed : ( OBS Overlay only )

Plug-in Name Aditionnal Informations Link
Source Copy Importation of scenes, sources and filter Source Copy | OBS Forums
Win Capture Audio [ACS] Audio Capture
Check the properties for [ACS] Audio Capture and set it to be listening to your active spotify.exe window.
win-capture-audio | OBS Forums
WaveForm Waveform Visualizer
Check properties of this source to make sure it listen to the Audio Capture source.
Waveform | OBS Forums
ShaderFilter used for the Progress Bar obs-shaderfilter | OBS Forums

Q & A

  • Can I use Amuse overlay with that extension ?
    Yes, but you must be using a separated app.

Contributors

9 Likes

Changes Requested made to Docs, Still Incomplete

Extensions its self seems to work fine.

1 Like