Twitch chatbot to listen for and manage song requests, then pick them at random.
-
You will require an oauth token tied to the twitch account you want the bot to speak through (this acts like a password to allow login for a single application). This can be generated by logging into said bot account, then visiting twitchapps.com/tmi.
-
Do not share the oauth token with anyone else. Anyone with the token can potentially send messages or perform moderation using the account tied to that token.
-
Download the "sari_queuebot.exe" from this link, put it in its own folder and run the .exe for further instructions.
Interaction is handled entirely through chat for now, longer term plan is to build a GUI on top of the app for easier interaction. Open to ideas, different command names, aliases or behaviour changes.
Most of the queue modify commands like !clearqueue
are broadcaster / mod only.
Some of the spammier commands have inbuilt cooldowns.
- !openqueue [Moderator] - Opens the queue
- !closequeue [Moderator] - Closes the queue
- !clearqueue [Moderator] - Clears the queue
- !pick [Moderator] - Picks a random song from the queue
- !pick <num> [Moderator] - Picks the specified song (from !listqueue). E.g. !pick 4 picks the 4th song
- !removesong <num> [Moderator] - Removes the specified song from the queue
- !removeuser <user> [Moderator] - Removes the specified user from the queue
- !listusers [Moderator] - Lists the users currently in the queue
- !help [Any] - Displays a short list of possible chat commands
- !sr [Everyone] - Adds a song into the queue, or overwrites the user's existing song
- !leave [Everyone] - Removes a user's song from the queue
- !queue [Everyone] - Lists how many songs are in the queue, as well as the user's current song choice
- !currentsong [Everyone] - Displays the last song that was picked
- !listqueue [Everyone] - Lists the songs currently in the queue
- !played [Everyone] - Lists the songs that have already been played
The !pick
logic will automatically pick people that haven't had a song played yet since the last cleared queue. Once everyone's had a turn, then (and only then) will it start picking people who have put a request in more than once.
TODO: GUI, customisable alias' / cooldowns...
sagecipher
licensed under Apache 1.0
nuitka
licensed under Apache 2.0
colorama
licensed under BSD License
readchar
, keyring
and irc
licensed under MIT License
keyring
and pywin32
licensed under Python Software Foundation License
Bot icon sourced from Robot Icon on Iconscout