Skip to content

Twitch bot to listen for and manage song requests, then pick them at random

License

Notifications You must be signed in to change notification settings

Sarioah/queuebot

Repository files navigation

queuebot

Twitch chatbot to listen for and manage song requests, then pick them at random.

Usage

  1. 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.

  2. 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.

  3. Download the "sari_queuebot.exe" from this link, put it in its own folder and run the .exe for further instructions.

Commands

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...

Credits

Libraries

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

Icon

Bot icon sourced from Robot Icon on Iconscout

Robot.png

About

Twitch bot to listen for and manage song requests, then pick them at random

Topics

Resources

License

Stars

Watchers

Forks

Languages