!announce
- Announcementsnosleep
- Disables automatic sleepstart
- Re-enables announcements after being disabledstop
- Disables announcements completelytime
- Sets the frequency of Announcementslist
- Lists all of the commands to the consoledel
- Deletes an announcement by ID.add
- Adds a new announcement to Default categoryenable
- Enables an announcement by IDdisable
- Disables an announcement by IDstatus
- Displays status in chatcategory
- Base command
!channelpoint_cooldown
- Base commandattention
- Sets Attention cooldowntreat
- Sets Treat cooldown!allowlinks
- Allows links from a user to be sent to discord!disable_attn
- Disable Attention!ignorelinks
- Ignore links from a user to be sent to discord!treatme
- Sends a Treatenable
- Enables the treatbotdisable
- Disables the treatbot!treatmenow
- Force sends a treat!topic
- Chat Topic (Alias: !project
)set
- Sets a topicgoal
- Sets the goal for the topicstep
- Sets the current step for the topic (Alias: !step)link
- Sets the link for the topicwig
- Base commandpoll
- Start a wig polltime
- Set duration of wig polladd
- Add a new wigdel
- Delete a wig by IDlist
- Lists current wigsdisable
- Disable a wigenable
- Enable a wigused
- Mark a wig as used for the current stream.reset
- Resets all of the wigs currently marked as used.stream
- Stream controlslive
- Sets the bot to Live statusstatus
- Shows the stream statuslab
- Sets the location to In the Laboffice
- Sets the location to In the Officemqtttest
- Tests the connection to MQTTignore
- Ignore users based on a patternadd
- Adds a user to the ignore listdel
- Removes a pattern from the ignore listenable
- Enable pattern by IDdisable
- Disable pattern by IDclear_poll
- Clears the setup data in MQTT for the poll display.so
- Shoutoutsmsg
- Set the shoutout messagetrivia
- Trivia base commandwinner
- Announce the winner of the most recent triviavipupdate
- Forces the bot to sync with Twitch's VIP listtodo
- The bot will send the entire contents of the message to a pre-defined discord channel!announce
- AnnouncementsPermission: Admin (for all sub commands)
Base command, doesn't do anything directly
nosleep
- Disables automatic sleepstart
- Re-enables announcements after being disabledThis is saved in the database and will survive restarts.
stop
- Disables announcements completelyThis is saved in the database and will survive restarts.
time
- Sets the frequency of AnnouncementsSend the time in seconds as a parameter for frequency of announcements.
list
- Lists all of the commands to the consoledel
- Deletes an announcement by ID.Send the ID as a parameter. If message is the last in the active category, resets active category to Default
add
- Adds a new announcement to Default categorySend the Announcement you want to add as the parameter
enable
- Enables an announcement by IDSend the ID to be enabled as the parameter
disable
- Disables an announcement by IDSend the ID to be disable as the parameter
status
- Displays status in chatcategory
- Base commandDoesn't do anything directly
add
- Add a new categorySend name of new category as paremeter
del
- Deletes a category by IDSend ID as parameter to delete category. Must not have any announcements assigned Can not delete Default
list
- Lists the available categories to the consoleassign
- Assign an announcement to a categorySend {AnnouncementID:int} {CategoryID:int} as parameters
activate
- Sets a category as activeSets the {CategoryID:int} as the active category.
!channelpoint_cooldown
- Base commandPermission: Admin For setting channelpoint cooldowns
attention
- Sets Attention cooldownPermission: Admin Send new cooldown in seconds as parameter
treat
- Sets Treat cooldownPermission: Admin Send new cooldown in seconds as parameter
!allowlinks
- Allows links from a user to be sent to discordPermission: Admin Send username to allow links from as the parameter
!disable_attn
- Disable AttentionPermission: Admin Disables sending the MQTT publish to twitch-attn-indi
!ignorelinks
- Ignore links from a user to be sent to discordPermission: Admin Send username to ignore links from as the parameter
!treatme
- Sends a TreatPermission: Everyone / Admin Sends a MQTT publish of 1 to dispense-treat-toggle if an Admin user and emoji requirements have been met. Sends a message to the channel reminding users to use the emoji
enable
- Enables the treatbotPermission: Admin Note: Does not survive bot restart.
disable
- Disables the treatbotPermission: Admin Note: Does not survive bot restart.
!treatmenow
- Force sends a treatPermission: Admin Immediately sends a treat, for testing purposes
!topic
- Chat Topic (Alias: !project
)Permission: Everyone Posts to chat the currently set topic
set
- Sets a topicPermission: Admin
!topic set New topic text
goal
- Sets the goal for the topicPermission: Admin
!topic goal New goal text
step
- Sets the current step for the topic (Alias: !step)Permission: Admin
!topic step New text for the current step
link
- Sets the link for the topicPermission: Admin
!topic link New note or link for project
wig
- Base commandpoll
- Start a wig pollPermission: Admin
time
- Set duration of wig pollPermission: Admin Send time in seconds as parameter
add
- Add a new wigPermission: Admin Send wig name as parameter
del
- Delete a wig by IDPermission: Admin Send wig ID as parameter
list
- Lists current wigsPermission: Admin
disable
- Disable a wigPermission: Admin Send wig ID as parameter
enable
- Enable a wigPermission: Admin Send wig ID as parameter
used
- Mark a wig as used for the current stream.Permission: Admin Send wig Name as parameter
reset
- Resets all of the wigs currently marked as used.Permission: Admin No parameters
stream
- Stream controlsPermission: Admin Base Command
live
- Sets the bot to Live statusPermission: Admin Send "true" or "false" as parameter
This is intended for use by automated scripting, and should only be used to fix an invalid state.
status
- Shows the stream statusPermission: Admin
lab
- Sets the location to In the LabPermission: Admin
office
- Sets the location to In the OfficePermission: Admin
mqtttest
- Tests the connection to MQTTPermission: Admin
Sends the arguments as the value to stream/mqtttest
topic.
ignore
- Ignore users based on a patternadd
- Adds a user to the ignore listPermission: Admin
Parameters: Regex pattern for desired username to be ignored.
del
- Removes a pattern from the ignore listPermission: Admin
Paramaters: ID of pattern to remove.
enable
- Enable pattern by IDPermission: Admin
disable
- Disable pattern by IDPermission: Admin
clear_poll
- Clears the setup data in MQTT for the poll display.Permission: Admin
so
- ShoutoutsPermission: Admin, Groups with the "so" permission. Paramaters: Username to shoutout to Responds with the shoutout message for the username specified, or with the last raided user.
msg
- Set the shoutout messagePermission: Admin
Parameters: Message
Adding {channel}
to the message will be replaced by the username being highlighted.
trivia
- Trivia base commandPermission: Admin
winner
- Announce the winner of the most recent triviaPermission: Admin
vipupdate
- Forces the bot to sync with Twitch's VIP listPermission: Admin
todo
- The bot will send the entire contents of the message to a pre-defined discord channelPermission: todo (Intended for VIP's to use)
/send_command
POST
- Send a command to the botRequires
access_token
header[arg1, arg2, arg3]
Example with curl:
curl --header "Content-Type: application/json" --header "access_token: testKey" --request POST --data '{"command":"!topic", "args":["set", "New", "topic"], "silent":false}' http://localhost:5000/send_command
/topic
GET
- Show chat topicReturns the current Bot topic as a json object of {"topic":"Topic text"}
POST
- Set chat topicRequires
access_token
headertopic
as the only needed key, and text as the value.
{"topic":"Topic text"}
Example with curl:
curl --header "Content-Type: application/json" --header "access_token: testKey" --request POST --data '{"topic":"Test topic sent from a json post"}' http://{WEB_HOSTNAME}/topic
/ignore
GET
- Show table of ignored usersAll Stream related MQTT topics are prefixed with stream/
treat-in-queue
TwitchBot sends 1 when a treat is in the queuedispense-treat-toggle
TwitchBot sends 1, TreatBot should listen for 1. TreatBot should reset to 0 when done.treat_status
TwitchBot sends json object of TreatBot status. {"current": int(current count), "needed":int(needed count), "complete": bool(True if treat is being dispensed.)}
twitch-attn-indi
TwitchBot sends 1, AttentionBot should listen for 1. AttentionBot should reset to 0 when done.channel-raid
TwitchBot sends username of raiderchannel-subscription
TwitchBot sends username of subscriberchannel-cheer
TwitchBot sends json of {"username": username, "bits": bits_used, "total_bits": total_bits_used}
channel-follow
TwitchBot sends str of username that followed.yay-toggle
TwitchBot sends 1, OBSBot should listen for 1 to activate Yay scene.poll/setup
TwitchBot sends json of poll setup datapoll/data
TwitchBot sends json of poll dataverify1k
TwitchBot sends 1mqtttest
TwitchBot sends string of args givenfirst_time_chatter
TwitchBot sends json {"author":"author name", "timestamp"=str(datetime.now())}
when a new chatter is seen ever.new_chatter_topic
TwitchBot sends json {"author":"author name", "timestamp"=str(datetime.now())}
when a new chatter is seen for the first time this stream.This is a test, this is only a test.