Twitch noisemaker
Project description
DJALLIN2
A mildly configurable twitch noisemaker capable of responding to chat and point redemptions.
Available through pip (djallin2
) or as a standalone executable for macOS and Windows.
Note for Windows users, your antivirus will probably think it's a trojan. It's not, but it kinda looks like one to your antivirus. If you get the option to report a false positive, please do so.
Quickstart
Want !sound
to just work?
- Download the latest build from the releases tab
- Download the quick config file, rename it to
config.txt
- Place your sounds in a folder called sounds, next to the app and config
- Run it, your browser will open to handle the initial Twitch connection
- This will happen every ~3 months as necessary
Configuration
config.txt
holds your token and configures chat and point responders.
Take a look at the example configuration for examples, and a detailed explanation for all settings.
The following block defines a basic chat listener:
[chat.sound]
badges = ['moderator', 'broadcaster', 'vip']
target = './sounds/'
command = '!sound '
Mods, VIPs, and the broadcaster can use !sound xxx
to play ./sounds/xxx.mp3
If badge and name filters are not supplied, anyone can use the command.
The random
setting enables random playback.
A value of 2
selects a random file from the directory.
[chat.wisdom]
target = './wisdom/'
command = '!wisdom'
random = 2
Points rewards are similarly configured.
Set the name
to the name configured in your twitch rewards.
A random
value of 1
enables the random
command where a random file will be selected if a user enters random
.
[points.sound]
name = 'play a sound'
target = './sounds/'
random = 1
Alternatively, you can duplicate configurations using links.
Setting applied in the block with a link
statement override settings in the linked responder.
[points.sound]
link = 'chat.sound'
random = 1
command_mode
can be used to define different match modes for the command
.
contains
allows you to play a single file or randomly select from a directory when a message contains the command phrase.
Chat listeners are checked in alphabetical order and when one plays a sound, checks stop.
[chat.z_cowboy]
command = 'cowboy'
command_mode = 'contains'
target = './sound/yeehaw.mp3'
Both point and chat blocks support custom code actions, check the example configuration for details.
Playback statistics can be recorded to a sqlite3 database of your choice.
Simply add stats = true
to your configuration block.
[chat.sound]
target = './sounds/'
command = '!sound '
stats = true
The name of the database can be changed by setting stats_db = 'database.sqlite'
at the top of your configuration file.
Known issues
If a red screen shows when registering your twitch token, there may be a problem with your connection. Close the soundbot and try again.
TODO:
- This
- Let exit on fire be a configurable option?
- HTTP command receiver (lioran?)
- custom hook code - lioran example? obs websocket?
- Bits?
- Does linux support audio these days?
- https://inloop.github.io/sqlite-viewer/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file djallin2-0.8.2.tar.gz
.
File metadata
- Download URL: djallin2-0.8.2.tar.gz
- Upload date:
- Size: 75.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f51928d52b93641fe95f850ebc99b8eb4015caa292c5243579793996a8fc9354 |
|
MD5 | 13510e1291f0b32e2cca9181ae3bb47d |
|
BLAKE2b-256 | 58b3d40ac39f6eb808f78406745a2d616ca6bf6a2e6b24b606b3eafda865905f |
File details
Details for the file djallin2-0.8.2-py3-none-any.whl
.
File metadata
- Download URL: djallin2-0.8.2-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d7cca13bec36482fcd7c44344dff73069de7d0a96817637caa11b1b207abc42 |
|
MD5 | da6bacb810b7541be07370be130f8ec4 |
|
BLAKE2b-256 | 30f6af94f87f53af589637f6ef0d1963e5fb44f4d71cf68b842f520319b097ed |