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
- Host: GitHub
- URL: https://github.com/sarioah/queuebot
- Owner: Sarioah
- License: other
- Created: 2021-12-07T00:57:03.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2026-04-01T05:57:50.000Z (3 months ago)
- Last Synced: 2026-04-01T08:40:42.442Z (3 months ago)
- Topics: bot, twitch
- Language: Python
- Homepage:
- Size: 470 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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