%global _empty_manifest_terminate_build 0 Name: python-djallin2 Version: 0.8.2 Release: 1 Summary: Twitch noisemaker License: MIT License URL: https://github.com/vilhelmen/djallin2 Source0: https://mirrors.nju.edu.cn/pypi/web/packages/58/b3/d40ac39f6eb808f78406745a2d616ca6bf6a2e6b24b606b3eafda865905f/djallin2-0.8.2.tar.gz BuildArch: noarch Requires: python3-toml Requires: python3-tomlkit Requires: python3-requests Requires: python3-dateutil Requires: python3-websockets Requires: python3-packaging Requires: python3-pyobjc Requires: python3-pywin32 %description # DJALLIN2 A mildly configurable twitch noisemaker capable of responding to chat and point redemptions. Available through pip (`djallin2`) or as a [standalone executable](https://github.com/vilhelmen/djallin2/releases) 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](https://github.com/vilhelmen/djallin2/releases) * Download the [quick config file](./quick_config.txt), 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](./example_config.txt) for examples, and a detailed explanation for all settings. The following block defines a basic chat listener: ```toml [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. ```toml [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`. ```toml [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. ```toml [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. ```toml [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](./example_config.txt) for details. Playback statistics can be recorded to a sqlite3 database of your choice. Simply add `stats = true` to your configuration block. ```toml [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 1. Let exit on fire be a configurable option? 1. HTTP command receiver (lioran?) 1. custom hook code - lioran example? obs websocket? 1. Bits? 1. Does linux support audio these days? 1. https://inloop.github.io/sqlite-viewer/ %package -n python3-djallin2 Summary: Twitch noisemaker Provides: python-djallin2 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-djallin2 # DJALLIN2 A mildly configurable twitch noisemaker capable of responding to chat and point redemptions. Available through pip (`djallin2`) or as a [standalone executable](https://github.com/vilhelmen/djallin2/releases) 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](https://github.com/vilhelmen/djallin2/releases) * Download the [quick config file](./quick_config.txt), 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](./example_config.txt) for examples, and a detailed explanation for all settings. The following block defines a basic chat listener: ```toml [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. ```toml [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`. ```toml [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. ```toml [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. ```toml [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](./example_config.txt) for details. Playback statistics can be recorded to a sqlite3 database of your choice. Simply add `stats = true` to your configuration block. ```toml [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 1. Let exit on fire be a configurable option? 1. HTTP command receiver (lioran?) 1. custom hook code - lioran example? obs websocket? 1. Bits? 1. Does linux support audio these days? 1. https://inloop.github.io/sqlite-viewer/ %package help Summary: Development documents and examples for djallin2 Provides: python3-djallin2-doc %description help # DJALLIN2 A mildly configurable twitch noisemaker capable of responding to chat and point redemptions. Available through pip (`djallin2`) or as a [standalone executable](https://github.com/vilhelmen/djallin2/releases) 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](https://github.com/vilhelmen/djallin2/releases) * Download the [quick config file](./quick_config.txt), 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](./example_config.txt) for examples, and a detailed explanation for all settings. The following block defines a basic chat listener: ```toml [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. ```toml [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`. ```toml [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. ```toml [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. ```toml [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](./example_config.txt) for details. Playback statistics can be recorded to a sqlite3 database of your choice. Simply add `stats = true` to your configuration block. ```toml [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 1. Let exit on fire be a configurable option? 1. HTTP command receiver (lioran?) 1. custom hook code - lioran example? obs websocket? 1. Bits? 1. Does linux support audio these days? 1. https://inloop.github.io/sqlite-viewer/ %prep %autosetup -n djallin2-0.8.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-djallin2 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 31 2023 Python_Bot - 0.8.2-1 - Package Spec generated