Skip to content

[EN] Chat Request

sannier3 edited this page Aug 3, 2022 · 12 revisions

Return to the Wiki home

The Chat Request module enables viewers to request maps to the streamer in their Twitch chat. When a request is carried out, it is added to the request queue. The streamer only has to open the waiting queue and click on the song to download it and play the map.

1 - Interface

2 - General settings

User max request

The maximum number of requests a viewer can carry simultaneously.

VIP bonus request

The number of additional requests channel VIPs can carry (cumulative with Subscriber bonus request).

Subscriber bonus request

The number of additional requests channel subscribers can carry (cumulative with VIP bonus request).

History size

Request history size (i.e., save the last [x] maps requested).

Play preview music if downloaded

Self-explanatory.

Give moderators power to manage queue

Self-explanatory.

Queue command show count

The number of songs displayed when the « !queue » command is executed.

Queue command cooldown seconds

Cooldown (in seconds) before re-enabling the « !queue » command.

3 - Filter settings

NJS min

The minimum NJS (Note Jump Speed) that a map must have to be added to the queue. Searches in every game mode and every difficulty to figure out if at least one has a greater NJS than the minimum required.

NJS max

The maximum NJS (Note Jump Speed) that a map must have to be added to the queue. Searches in every game mode and every difficulty to figure out if at least one has a lower NJS than the maximum required.

⚠️ In case NJS min and NJS max are activated simultaneously, the map must meet both requirements.

NPS min

The minimum NPS (Note Per Second) that a map must have to be added to the queue. Searches in every game mode and every difficulty to figure out if at least one has a greater NPS than the minimum required.

NPS max

The maximum NPS (Note Per Second) that a map must have to be added to the queue. Searches in every game mode and every difficulty to figure out if at least one has a lower NPS than the maximum required.

⚠️ In case NPS min and NPS max are activated simultaneously, the map must meet both requirements.

Duration max

Only maps that don’t exceed this duration can be added to the queue.

Vote min

Minimum upvote/downvote ratio a map must meet to be added to the queue.

Upload date min

Minimum upload date of a map so that it can be added to the queue (i.e., maps uploaded earlier cannot be queued)

Upload date max

Maximum upload date of a map so that it can be added to the queue (i.e., maps uploaded later cannot be queued)

4 - Chat commands

User commands

!bsr

Example: !bsr ff9

Example: !bsr Smooth Criminal

Requests a map (by adding the map code or map name).

!bsrhelp

Displays a quick tutorial on “How to request a map?”.

!link

Displays the current map’s name and mapper’s name. The bot also looks for the map on BeatSaver. If the map is available, a link to it will be displayed to access it.

!queue

Displays unplayed request list with total duration.

!queuestatus

Indicates if the queue is opened or closed (thus, if viewers can request or not), reamaining song count, and queue total duration.

!oops !wrongsong !wrong

Cancels the last request.

Moderator commands

!att

Moderators only. Requests a map directly on top of the queue.

!allow

Example: !allow ff9

Moderators only. Whitelest a map, and make it ignore all filters when requested later (only works with map code).

!block

Moderators only. Blacklists a map in the queue (only works with map code).

!bsrban

Example: !bsrban hardcpp

Moderators only. Ban an user to requests.

!bsrbanmapper

Example: !bsrbanmapper oddloop

Moderators only. Ban a mapper from being requested.

!bsrunban

Example: !bsrunban hardcpp

Moderators only. Unban an user from requests.

!bsrbanmapper

Example: !bsrunbanmapper oddloop

Moderators only. Unban a mapper from requests.

!close

Moderators only. Closes queue (disables requests).

!modadd

Moderators only. Requests a map, ignoring filters and blacklist.

!mtt

Moderators only. Moves a request on top of the queue (only works with map code).

!open

Moderators only. Opens queue (enables requests).

!remap

Example (replace 25f request to 10377): !remap 25f 10377

Example (remoave remaping of 25f): !remap 25f 25f

Moderators only. Allow to redirect all request from one map to an another one.

!remove

Moderators only. Removes a map from the queue (only works with map code).

!sabotage

Example: !sabotage on

Example: !sabotage off

Moderators only. Enable or disable LIV sabotages (bombs).

!songmsg

Example: !songmsg @hardcpp This is the raid request

Example: !songmsg 10377 Enjoy this lightshow

Moderators only. Set a message for the streammer on a specific request.

5 - Database file

6 - OBS integration

  1. In OBS, add a Text (GDI+) source.
  2. In the properties of that new source, enable "Read from file" and select the file at this location:
<Your-BeatSaber-Installation-Path>/UserData/BeatSaberPlus/ChatRequest/SimpleQueue.txt

or this one for queue status (open/closed)

<Your-BeatSaber-Installation-Path>/UserData/BeatSaberPlus/ChatRequest/SimpleQueueStatus.txt
  1. Edit the visual properties to get a look you like.

Configuring the content of the text file

Find the BeatSaberPlus.ini file in your UserData folder in your BeatSaber installation.

<Your-BeatSaber-Installation-Path>/UserData/BeatSaberPlus/ChatRequest/Config.json

In that file, there are two lines you can edit:

Property Description Example
SimpleQueueFileCount Number of songs to show in the queue 10
SimpleQueueFileFormat Formatting of the queue %i - [%k] %n
SimpleQueueStatusOpen Message for when the queue is open Queue is open!
SimpleQueueStatusClosed Message for when the queue is closed Queue is closed!

In the format, you can specify variables.

Variables Description Example
%i Index of the request 1
%n Name of the map request Say Fanfare!!
%m Name of the mapper of the map omotea
%r Name of the requester Dbqt
%k BSR key of the map 976b

For example, you can set the format like this:

"SimpleQueueFileCount": 3,
"SimpleQueueFileFormat": "%i - [%k] %n | %m requested by %r"

and the text file will look like this:

1 - [976b] Say Fanfare!! | omotea requested by Dbqt
2 - [25f] DM DOKURO – Reality Check Through The Skull | Rickput requested by ThisPersonShouldBeBanned
3 - [129bf] Mope Mope | waika requested by TrollChatViewer

Return to the Wiki home