Skip to content

MrPandir/spicetify-twitch-song-requests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

94 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Spicetify Twitch Song Requests

Twitch chat song requests for Spicetify โ€” let viewers queue tracks using chat commands. No Spotify Premium subscription required.

Features

  • ๐Ÿช™ Works without Spotify Premium
  • โž• !sr โ€” add track by name or link
  • ๐Ÿš€ !srn โ€” add track to the beginning of the queue (priority request)
  • ๐ŸŽฒ !rr โ€” add a random track from favorites or Spotify source link
  • โšก !rrn โ€” add a random track to the beginning of the queue (priority request)
  • ๐Ÿ—‘๏ธ !rm โ€” remove your track (last by default)
  • ๐Ÿงน !clear โ€” clear Spotify queue
  • โฎ๏ธ !prev โ€” switch to the previous track
  • โญ๏ธ !next โ€” switch to the next track
  • ๐Ÿ”Š !volume โ€” view or set Spotify volume
  • ๐Ÿ“ฆ Multi-add โ€” multiple links in one message
  • ๐Ÿ” Remove by position or partial name
  • ๐Ÿ‘ฎ Moderators can remove any track
  • ๐Ÿ” Configurable command access permissions
  • โš–๏ธ Per-user and total queue limits
  • ๐Ÿ” Random duplicate toggle (allow/disallow already queued tracks)
  • ๐Ÿ”„ Auto queue sync when track removed from Spotify
  • ๐Ÿ”‘ Permanent Twitch token (no re-auth needed)
  • ๐Ÿ”— Supported links from: Spotify, Apple Music, YouTube Music, Deezer, TIDAL, Amazon Music, SoundCloud, Yandex Music, and many more
  • ๐ŸŒ Bot replies in: RU ยท EN ยท PT-BR ยท DE ยท UA

Installation

Important

Spotify with Spicetify is required.

Via Marketplace (Recommended)

  1. Install Marketplace: Installation manual
  2. Open Marketplace, go to the Extensions tab, and search for Twitch Song Requests.

Important

If you don't see the extension, you probably need to click Load more.

  1. Install the extension.
  2. Next steps: Authorization & Configuration

Manual Installation

Note

Using this installation method, you will not receive automatic updates.

  1. Download twitch-song-requests.js file.
  2. Place the file in the path:
    • Windows: C:\Users\<user_name>\AppData\spicetify\Extensions\
    • Linux / macOS: ~/.config/spicetify/Extensions/
  3. Enable the extension:
spicetify config extensions twitch-song-requests.js

Tip

If you want to disable it, add - to the end of the file name.

  1. Apply the change on Spotify:
spicetify apply
  1. Next steps: Authorization & Configuration

Download Repository and Build

  1. Clone the repository:
git clone --depth 1 https://github.com/MrPandir/spicetify-twitch-song-requests.git && cd spicetify-twitch-song-requests
  1. Build the extension:
pnpm build

Note

This will automatically place the file in the Spicetify extensions directory.

  1. Follow steps 3 and 4 from Manual Installation.
  2. Next steps: Authorization & Configuration

Authorization & Configuration

  1. Click on the bot authorization button in the upper right corner.

Tip

Log in with a separate Twitch account if you want the bot to send messages as a dedicated bot instead of your own account. Make sure to assign VIP or Moderator status to avoid message limits.

  1. This will open a tab in your browser. Click Activate and then Authorize.
  2. Go to Spotify settings (account icon -> settings).
  3. Scroll down to the bottom to find the Twitch Song Requests section.
  4. Configure and enjoy.

Command Permissions

Supported permission values:

  • everyone
  • mods
  • subs
  • vips
  • Twitch username, for example someviewer
  • Twitch user id, for example id=123456789

Notes:

  • The broadcaster can always use all commands.
  • You can combine multiple values with commas, for example mods, subs, someviewer, id=123456789.

Commands

!song

Sends the currently playing track and artist(s) to the chat.

!sr <song name | link> [link...]

Adds track(s) to the queue by name or link.

When track(s) is added, a Spotify notification will appear showing which user added the track and its title(s).

When searching by name, you can optionally include the artist to improve search results.

If a link is recognized but the track is not available on Spotify, the bot will attempt to find it by searching for the track name.

Multiple links can be sent in a single message (see examples below).

Examples
  • !sr Billie Jean Michael Jackson
  • !sr open.spotify.com/track/5ChkMS8OtdzJeqyybCc9R5
  • !sr open.spotify.com/track/5ChkMS8OtdzJeqyybCc9R5 open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
  • !sr on.soundcloud.com/ZONK9VyLBrYxgMZbd4 youtu.be/JGwWNGJdvx8 music.youtube.com/watch?v=zABLecsR5UE

!srn <song name | link> [link...]

Priority request โ€” adds track(s) to the beginning of the queue (they will play next).

Works exactly like the !sr command. Supports the same formats.

!rr [artist link | playlist link | album link]

Adds one randomly selected track to the queue.

Without arguments, picks a random track from your Liked Songs.

With arguments, the bot uses the first valid Spotify link in the message and ignores the rest.

Supported link types:

  • Artist
  • Playlist
  • Album
Examples
  • !rr
  • !rr https://open.spotify.com/artist/3UCbp6D1lvILlxRJT9LnFa
  • !rr https://open.spotify.com/playlist/0yqUu8JKyRbEI2pUJFYkBB
  • !rr https://open.spotify.com/album/42UJjk8i8L0De7lQtu7sqi

!rrn [artist link | playlist link | album link]

Priority random request โ€” adds a randomly selected track to the beginning of the queue.

Works exactly like !rr, but inserts the selected track at the front.

!rm [match by title or artist | index from the end of the queue]

Removes one of your previously requested tracks from the queue.

Without arguments, removes your most recently requested track.

You can provide an index (counting from the end of your requests) or remove a track by searching for part of its title or artist.

If you are the broadcaster or a moderator, you can remove any track by searching for part of its title or artist.

If allowGlobalDeleteForMods is disabled, only the broadcaster can remove any track from the full queue.

Examples
  • !rm โ€” Removes your most recently requested track.
  • !rm 2 โ€” Removes your second-to-last requested track.
  • !rm Bill โ€” Removes your requested track containing Bill in the title or artist (e.g. Billie Jean โ€“ Michael Jackson).
  • !rm Jackson โ€” Removes the same track as in the previous example.

!clear

Clears the Spotify queue and the song request queue.

Command availability is configurable in permission settings.

!prev

Switches Spotify playback to the previous track.

Available to moderators by default.

!next

Switches Spotify playback to the next track.

Available to moderators by default.

!volume [0-100]

Shows the current Spotify volume.

If a value from 0 to 100 is provided, sets the Spotify volume to that percentage.

Available to moderators by default.

Development

Watch Mode

  1. Auto-rebuilding on code changes:
    pnpm watch
  2. Run Spotify in watch mode:
    spicetify watch -le

Build Distribution File

To build files locally and store them in a dist folder:

pnpm build:dist

AutoBuild (CI/CD)

With each commit to the main branch, GitHub Action builds the extension and saves it to the marketplace branch.

About

Twitch chat song requests for Spicetify: let viewers queue tracks using chat commands. No Spotify Premium subscription required.

Topics

Resources

License

Stars

Watchers

Forks

Contributors