forked from DaveLinger/Stepmania-Stream-Tools
-
Notifications
You must be signed in to change notification settings - Fork 4
Twitch Chatbot Setup
MrTwinkles47 edited this page Sep 10, 2022
·
10 revisions
You can use an existing chat bot or roll your own custom bot. Whichever bot you choose must be capable of custom commands with variables and GET/urlfetch capability. SMRequests recommends using StreamElements.
Command variables that are supported across end-points. Refer to your bot’s documentation to determine how to use variables.
- Arguments -- bot must support multi-word arguments!
- Twitch user -- required for request commands
- Broadcaster -- required for broadcast commands and multiple stream accounts
- Game/Category -- Useful if your bot does not have game specific commands (SE)
- Twitch tier -- Useful for limiting requests to certain user levels (subscriber, moderator, etc.)
- Go to your custom bot commands page: https://streamelements.com/dashboard/bot/commands/custom.
- Replace [URL] with your website URL and replace [KEY] with your security key.
- Create a new command, copy the text below, and paste it into the "response" field.
- Set user level, cooldowns, and command aliases.
- Optional: Disable the built-in song request default commands.
Expand for example commands
Command: !songlist
Alias: !sl, !list
User Level: everyone
Response: ${sender}->The songlist for requesting songs can be found here: https://[URL]/songlist.php
Command: !request
Alias: !sr
User Level: everyone
Response: ${urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&song=${queryescape ${1:}}}
Command: !requestid
Alias: !rid
User Level: everyone
Response: ${urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&songid=${queryescape ${1:}}}
Command: !cancel
User Level: everyone
Response: ${urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&cancel=${queryescape ${1|1}}}
Command: !random
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=random&song=${queryescape ${1:|0}}}
Command: !portal
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=portal&song=${queryescape ${1:|0}}}
Command: !top
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=top&song=${queryescape ${1:|0}}}
Command: !gitgud
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=gitgud&song=${queryescape ${1:|0}}}
Command: !randomunplayed
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=unplayed&song=${queryescape ${1:|0}}}
Command: !randomroll
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=roll&num=3&song=${queryescape ${1:|0}}}}
Command: !theusual
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&random=theusual&song=${queryescape ${1:|0}}}
Restrict these commands to mods or higher user levels
Command: !skip
User Level: moderator
Response: ${urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&skip=${queryescape ${1|1}}}
Command: !complete
User Level: moderator
Response: ${urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&complete=${queryescape ${1|1}}}
Command: !banuser
User Level: moderator
Response: ${urlfetch https://[URL]/requestor.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&game=${game}&banuser=${queryescape ${1:}}}
Command: !whitelist
User Level: moderator
Response: ${urlfetch https://[URL]/requestor.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&game=${game}&whitelist=${queryescape ${1:}}}
Command: !bansong
User Level: moderator
Response: ${urlfetch https://[URL]/song_admin.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&game=${game}&bansong=${queryescape ${1:}}}
Command: !bansongid
User Level: moderator
Response: ${urlfetch https://[URL]/song_admin.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&game=${game}&bansongid=${queryescape ${1:}}}
Command: !requesttoggle
Alias: !rt, !toggle
User Level: moderator
Response: ${urlfetch https://[URL]/broadcaster.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&requesttoggle=${queryescape ${1:|0}}}
Command: !stepstype
User Level: moderator
Response: ${urlfetch https://[URL]/broadcaster.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&stepstype=${queryescape ${1}}}
Command: !meter
User Level: moderator
Response: ${urlfetch https://[URL]/broadcaster.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&meter=${queryescape ${1}}}
You may need to adjust these commands to fit your specific song packs.
Command: !randomben
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=ben&random=Ben+Speirs%7CBen+Fears&song=${queryescape ${1:|0}}}
Command: !randomddr
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=ddr&random=Dance+Dance+Revolution%7CDancing+Stage&song=${queryescape ${1:|0}}}
Command: !randomitg
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=itg&random=ITG%7CIn+The+Groove&song=${queryescape ${1:|0}}}
Command: !randomfearmix
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=fearmix&random=FEARMIX&song=${queryescape ${1:|0}}}
Command: !randomcafecursed
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=cafe&random=Cafe+Cursed&song=${queryescape ${1:|0}}}
Command: !randomhellkite
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=hkc&random=HellkiteChaos&song=${queryescape ${1:|0}}}
Command: !randombgs
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=bgs&random=iambgs%7CBGS+Mania&song=${queryescape ${1:|0}}}
Command: !randommiku
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=miku&random=miku%7Cvocaloid&song=${queryescape ${1:|0}}}
Command: !randomweeb
User Level: everyone
Response: ${urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=${channel}&user=${sender}&tier=${user.level}&game=${game}&type=weeb&random=weeb%7Canime%7Cotaku%7Cjapan%7Cvocaloid&song=${queryescape ${1:|0}}}
- Go to your custom bot commands page: https://nightbot.tv/commands/custom.
- Replace [URL] with your website URL and replace [KEY] with your security key.
- Create a new command, copy the text below, and paste it into the "message" field.
- Set user level, cooldowns, and command aliases.
- Optional: Disable the built-in song request default commands.
Expand for example commands
Command: !songlist
Alias: !sl, !list
User Level: everyone
Response: $(twitch $(user) "{{displayName}}") => The songlist for requesting songs can be found here: https://[URL]/songlist.php
Command: !request
Alias: !sr
User Level: everyone
Response: $(urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&song=$(querystring))
Command: !requestid
Alias: !rid
User Level: everyone
Response: $(urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&songid=$(querystring))
Command: !cancel
User Level: everyone
Response: $(urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&cancel=$(querystring))
Command: !random
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=random&song=$(querystring))
Command: !portal
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=portal&song=$(querystring))
Command: !top
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=top&song=$(querystring))
Command: !gitgud
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=gitgud&song=$(querystring))
Command: !randomunplayed
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=unplayed&song=$(querystring))
Command: !randomroll
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=roll&num=3&song=$(querystring))
Command: !theusual
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&random=theusual&song=$(querystring))
Restrict these commands to mods or higher user levels
Command: !skip
User Level: moderator
Response: $(urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&skip=$(querystring))
Command: !complete
User Level: moderator
Response: $(urlfetch https://[URL]/request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&complete=$(querystring))
Command: !banuser
User Level: moderator
Response: $(urlfetch https://[URL]/requestor.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&game=$(twitch $(channel) "{{game}}")&banuser=$(querystring))
Command: !whitelist
User Level: moderator
Response: $(urlfetch https://[URL]/requestor.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&game=$(twitch $(channel) "{{game}}")&whitelist=$(querystring))
Command: !bansong
User Level: moderator
Response: $(urlfetch https://[URL]/song_admin.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&game=$(twitch $(channel) "{{game}}")&bansong=$(querystring))
Command: !bansongid
User Level: moderator
Response: $(urlfetch https://[URL]/song_admin.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&game=$(twitch $(channel) "{{game}}")&bansongid=$(querystring))
Command: !requesttoggle
Alias: !rt, !toggle
User Level: moderator
Response: $(urlfetch https://[URL]/broadcaster.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&requesttoggle=$(querystring))
Command: !stepstype
User Level: moderator
Response: $(urlfetch https://[URL]/broadcaster.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&stepstype=$(querystring))
Command: !meter
User Level: moderator
Response: $(urlfetch https://[URL]/broadcaster.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&meter=$(querystring))
You may need to adjust these commands to fit your specific song packs.
Command: !randomben
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=ben&random=Ben+Speirs%7CBen+Fears&song=$(querystring))
Command: !randomddr
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=ddr&random=Dance+Dance+Revolution%7CDancing+Stage&song=$(querystring))
Command: !randomitg
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=itg&random=ITG%7CIn+The+Groove&song=$(querystring))
Command: !randomfearmix
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=fearmix&random=FEARMIX&song=$(querystring))
Command: !randomcafecursed
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=cafe&random=Cafe+Cursed&song=$(queryescape))
Command: !randomhellkite
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=hkc&random=HellkiteChaos&song=$(queryescape))
Command: !randombgs
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=bgs&random=iambgs%7CBGS+Mania&song=$(queryescape))
Command: !randommiku
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=miku&random=miku%7Cvocaloid&song=$(queryescape))
Command: !randomweeb
User Level: everyone
Response: $(urlfetch https://[URL]/rand_request.php?security_key=[KEY]&broadcaster=$(channel)&user=$(twitch $(user) "{{displayName}}")&userid=$(userid)&tier=$(userlevel)&game=$(twitch $(channel) "{{game}}")&type=weeb&random=weeb%7Canime%7Cotaku%7Cjapan%7Cvocaloid&song=$(queryescape))
Refer to this guide to create your own!
Join the SMRequests Discord!