Skip to main content

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:

  1. This
  2. Let exit on fire be a configurable option?
  3. HTTP command receiver (lioran?)
  4. custom hook code - lioran example? obs websocket?
  5. Bits?
  6. Does linux support audio these days?
  7. https://inloop.github.io/sqlite-viewer/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djallin2-0.8.2.tar.gz (75.3 kB view details)

Uploaded Source

Built Distribution

djallin2-0.8.2-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

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

Hashes for djallin2-0.8.2.tar.gz
Algorithm Hash digest
SHA256 f51928d52b93641fe95f850ebc99b8eb4015caa292c5243579793996a8fc9354
MD5 13510e1291f0b32e2cca9181ae3bb47d
BLAKE2b-256 58b3d40ac39f6eb808f78406745a2d616ca6bf6a2e6b24b606b3eafda865905f

See more details on using hashes here.

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

Hashes for djallin2-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6d7cca13bec36482fcd7c44344dff73069de7d0a96817637caa11b1b207abc42
MD5 da6bacb810b7541be07370be130f8ec4
BLAKE2b-256 30f6af94f87f53af589637f6ef0d1963e5fb44f4d71cf68b842f520319b097ed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page