Skip to content

MrMoogles/Beat-Saber-Twitch-Integration

 
 

Repository files navigation

Beat Saber Twitch Integration Plugin

For all you streamers out there who want song requests in your chat!

Installation

  1. Download the latest release and extract to the Plugins directory in your Beat Saber installation directory.
  2. Edit the twitch config (located in UserData/AsyncTwitchConfig.json)
  3. Edit the bot config (located in UserData/TwitchIntegrationConfig.json)

Add your Twitch username, an OAuth token that you can get here: https://twitchapps.com/tmi (this does require the oauth: prefix)

Lastly, add the channel to monitor. (This doesn't have to be the same as your twitch login, ie if you're using a bot to do requests)

Requirements

Beatsaber Custom UI
AsyncTwitch
SongLoader

Thanks to all of you for making it a bit easier to update this

Usage

Available Commands:

[Everyone]

Command Usage
!qhelp Shows all available commands
!add Add a song to queue using the BeatSaver ID/Search Text.
!bsr Add a song to queue using the BeatSaver ID/Search Text.
!queue Shows the current queue
!pat Sender pats Receiver

[Moderator Only]

Command Usage
!next Removes the current song from queue and displays the next song.
!clearall Clears the queue.
!block Adds the song to the banlist (File and array)
!unblock Removes song from the banlist (File and array)
!close Closes the queue.
!open Opens the queue.
!saveq Saves the current queue to JSON in UserData Directory
!randomize Randomizes current Queue & uses value set in "RandomizeLimit"
!clearusers Works in conjuction with Randomize, It'll clear users of the already chosen list so they can readd songs to future queues.
!mtt This will move all of a users requests to the top of the queue, or will move a single request (by ID) to the top of queue.

Note: Blacklist File is a file that can have songs added to during stream while the shadow banlist is meant more for songs that are banned for another reason, maybe your starter song, ending song, etc. Not displayed to chat.

Edit AsyncTwitchConfig.json to have your channel and Oauth token of yourself or a bot you have setup for your channel Edit TwitchIntegrationConfig.json for the queue bot options
Here are the options:

Property Usage
ModOnly This allows only Moderators to add to the queue as well as perform any commands.
SubOnly This allows Moderators & Subscribers only to add to the queue.
ViewerLimit Default: 1, but this is the number of requests a user can have.
SubLimit Default: 3, but this is the number of requests a subscriber can have.
ModLimit Default: 5, but this is the number of requests a moderator can have.
ContinueQueue Default: false, If set to true, requests will be kept track of.
Randomize Default: false, This takes the current queue and chooses the randomize limit and creates a new queue.
RandomizeLimit Limit of songs chosen from current queue to recreate new randomized queue.
BlockUserMultiRandomQueue Default: false, If a user is chosen for the random queue, they won't be able to request again until cleared.
OverrideSongInMultipleQueue Default: false, If set to true, users can request songs already played as long as not currently in queue.
EnableShadowQueueButton Default: false, Basically a banlist that returns no responses in chat. (TwitchIntegrationShadowBans.json)
AllowTwitchResponses Default: true, Allows the bot to return responses for certain commands/situations
DisableModOverride Default: false, Mods no longer have the power to add when the queue is closed.

Example blacklist file. With new API changes, the format usually has both numbers with Hyphen, but can be blocked using just the first set. Similar setup in the shadow_blacklist.txt file.

{ "_bannedSongs": [ "1121", "1120", "1118" ] }

Incoming Features: Implement Original Soundtrack for Requests Fix bug when it looks like SongDownloader didn't download last song in queue Add Refresh at the end of song when going back to the level select screen

Commonly Asked Questions

Q: Why don't I see any requests from my viewers showing up after opening up the Requests tab.
A: Currently a small issue with having the list refresh before the song Download finishes, workaround is to reclick the requests button to refresh the song list.

About

A plugin to allow song requests from twitch chat directly to your game!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%