An open API service indexing awesome lists of open source software.

https://github.com/sarioah/queuebot

Twitch bot to listen for and manage song requests, then pick them at random
https://github.com/sarioah/queuebot

bot twitch

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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 [Moderator] - Picks the specified song (from !listqueue). E.g. !pick 4 picks the 4th song
- !removesong [Moderator] - Removes the specified song from the queue
- !removeuser [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][1]

[1]: robot.png