A Slack-Powered music bot for Spotify.
🙈 You Must Use Node 0.10.x 🙈
🙈 Only Works on OSX 🙈
- Create a Spotify Premium Account.
brew install libspotify
install libspotify- Download a Spotify App Developers Key.
- Create a Slack Outgoing Webhook.
- In URL(s) put
<address_to_your_bot>/handle
we use ngrok for this - In Trigger Word(s) put
play, pause, stop, skip, shuffle, vol, list, status, help, mute, unmute, banned, voteban, queue
- Download the latest release.
- Unzip and cd into the maestro directory
cp config.example.json config.json
npm install
- Put your Spotify login username and password into the
config.json
file. - Put your
spotify_appkey.key
file in Maestro's root directory. - Copy the token from the webhook into the
config.json
file. npm start
.- Plug your OSX machine into some speakers.
- Jam 🎧
🙈 You Must Use Node 0.10.x 🙈
git clone https://github.com/smashingboxes/maestro.git
.cd maestro
- Follow the install steps to create a Spotify token and configure the app.
npm install
npm test
Commands
play [Spotify URI]
- Starts/resumes playback
play [Spotify URI]
- Immediately switches to the linked track.
pause
- Pauses playback at the current time.
stop
- Stops playback and resets to the beginning of the current track.
skip
- Skips (or shuffles) to the next track in the playlist.
shuffle
- Toggles shuffle on or off.
vol [up|down]
Turns the volume either up/down one notch.
vol [0..10]
Adjust volume directory to a step between0
and10
.
mute
- Same asvol 0
.
unmute
- Same asvol 0
.
status
- Shows the currently playing song, playlist and whether you're shuffling or not.
voteban
- Cast a vote to have the current track banned
banned
- See tracks that are currently banned
help
- Shows a list of commands with a short explanation.
Queue
queue [Spotify URI]
- Add a song to the queue
queue
- See the tracks currently in the queue
Playlists
list add <name> <Spotify URI>
- Adds a list that can later be accessed under .
list remove <name>
- Removes the specified list.
list rename <old name> <new name>
- Renames the specified list.
list <name>
- Selects the specified list and starts playback.