OxidizeBot

High performance Twitch bot in Rust

APACHE-2.0 License

Stars
153

Bot releases are visible (Hide)

OxidizeBot -

Published by udoprog over 5 years ago

OxidizeBot -

Published by udoprog over 5 years ago

Changed

  • Switch to moment-timezone for list of timezones in UI.
OxidizeBot - 0.4.2

Published by udoprog over 5 years ago

Changed

  • Make location optional in Settings component (causes blank page).
OxidizeBot -

Published by udoprog over 5 years ago

Changed

  • UI doesn't break on bad semver latest releases.
OxidizeBot -

Published by udoprog over 5 years ago

Changed

  • Don't crash if a user removes a the Twitch connection.
  • Deprecate use of configuration file fully.
OxidizeBot -

Published by udoprog over 5 years ago

Added

  • Added !poll command to run polls.
  • Added !weather command to check the current weather.
  • Notification after stream has ended if you have afterstream messages.
OxidizeBot -

Published by udoprog over 5 years ago

Changed

  • utils::compact_duration now includes days when formatting.
  • Don't use flatMap in since it's not supported in OBS's Browser Source.
OxidizeBot -

Published by udoprog over 5 years ago

Added

  • time/timezone for setting your current time zone.
  • !time command for showing the current time of the streamer (in the specified time zone) #45.
  • system/run-on-startup setting that can configure SetMod to run on system startup.
OxidizeBot -

Published by udoprog over 5 years ago

Added

  • !speedrun game <game> as a preferred alias for !speedrun record.
  • !speedrun personal-bests <user> as a way to query personal bests for a single user.
  • Commands can now use the {{rest}} parameter to expand to anything that comes after the command itself.
  • Introduced the irc/viewer-reward/interval setting to tweak how frequently viewer rewards are posted.

Changed

  • Move most authorization checks to their own scopes (See auth.yaml for details) #48.
    • song/theme
    • song/edit-queue
    • song/list-limit
    • song/volume
    • song/playback-control
    • command/edit
    • theme/edit
    • promo/edit
    • alias/edit
    • countdown
    • gtav/raw
    • water/undo
  • Support temporary grants through !auth permit 5m <user> <scope>.
    You can only grants scopes that you have #47.
    • For example, to permit posting any links: !auth permit 30s setbactesting chat/bypass-url-whitelist
  • Fix issue where player feedback shuts down first time it's disabled.
OxidizeBot -

Published by udoprog over 5 years ago

Added

  • Notifications for system integration.
  • Added --log-config and --trace switches to give more control over logging.

Changed

  • Fixed player sync on startup not setting state correctly.
  • Fixed issue where Spotify can't be controlled unless it is started before the bot (thanks @lolouis6321).
OxidizeBot -

Published by udoprog over 5 years ago

Changed

  • Installer can now successfully stop existing SetMod (>= 0.3.3) during upgrades. Note that you'll still have to quit the previous version of SetMod if it's 0.3.2 or lower.
  • Fixed issue where non-mods cannot request songs without stream currency enabled even though song/*/min-currency was set to 0.
  • song/*/max-duration is not optional and unset by default, and can be deleted.
OxidizeBot -

Published by udoprog over 5 years ago

Added

  • Added update notification in web UI.

Changed

  • Fixed issue when picking device and simplified how device ID is stored.
  • Fixed issue where delete dialog does not disappear.
OxidizeBot -

Published by udoprog over 5 years ago

Added

  • Added a button to open the setmod log file in systray.
  • Added a button to restart the bot from systray.

Changed

  • Fixed bug with syncing remote player state.
  • Fixed bug with syncing player queue to setbac.tv.
  • Reverted fix for Twitch API, since they fixed it themselves :|.
  • Fixed broken link to player on setbac.tv.
OxidizeBot - 0.3.0

Published by udoprog over 5 years ago

OxidizeBot - 0.2.10

Published by udoprog over 5 years ago

Changed

  • Reduce the number of calls for !speedrun command.
  • Commands can now be quoted to support spaces in arguments.
    • Example: !speedrun record sm64 --category "120 Star"
OxidizeBot -

Published by udoprog over 5 years ago

Changed

  • Fixed bug where new tokens weren't stored locally properly.
OxidizeBot - Look ma, no hands!

Published by udoprog over 5 years ago

Changed

  • Themes are not stored in the database, accessible through the !theme command and the web UI.
  • [player] has been deprecated in favor of player settings.
  • [current_song] has been deprecated in favor of player/song-file settings.
  • [[modules]] configuration has been deprecated in favor of their corresponding setting.
  • Fully deprecated the need for a configuration file. If you want to migrate existing settings, run the bot once with the configuration file, then it can safely be deleted.
  • Add more commands to !gtav and add command-specific overrides through gtav/command-config.

Added

  • Added the ability to scale the maximum volume of a player by a percentage using the following settings:
    • player/spotify/volume-scale
    • player/youtube/volume-scale
  • Pinging and reconnect if connection to Twitch is lost.
  • Tokens can now be removed, and refreshed on the home screen without restarting the bot.
  • Authentication system with different scopes to control permissions. See auth.yaml for more details.
    • This includes the groups: @streamer, @moderator, @subscriber, and @everyone.
  • A UI page to handle Authorization.
  • Load fallback songs from player/fallback-uri.
  • !speedrun command to get records from speedrun.com.
OxidizeBot - Holy Smokes! It's YouTube!

Published by udoprog over 5 years ago

Changed

  • !song request no longer allows one extra request to enter the queue. (#33)
  • Avoid playing the same songs over and over (#35).
  • Fix off-by-one check in currency transfer (!currency give <user> <amount>).
  • Only non-moderator and non-streamer chat bumps the idle counter.
  • URL whitelist is now stored in a setting irc/whitelisted-hosts (#37).
  • Massively improved settings and schema management.
  • Settings are now parsed from chat, meaning they are validated and doesn't have to be JSON.
  • !song request can now search for YouTube videos through !song request youtube:<query>.

Added

  • !admin version to check current setmod-bot package version. (#32)
  • Setting for controlling player feedback in chat (player/chat-feedback).
  • Setting for controlling overlay update interval (player/song-update-interval).
  • !admin settings for reading and writing settings through chat.
  • Introduced the setting player/detached to detach the player. (#27)
  • Confirmation response when performing !song open and !song close. (#36)
  • !admin push <key> <value> to insert values into settings which are collections.
  • !admin delete <key> <value> to delete values from settings which are collections.
  • Group management and the ability to enable and disable commands (!command), aliases (!alias) and promotions (!promo).
    • !<thing> enable <name> - Enable the given command.
    • !<thing> disable <name> - Disable the given command.
    • !<thing> group <name> - Get the current group.
    • !<thing> group <name> <group> - Set the current group.
    • !<thing> clear-group <name> - Remove from all groups.
    • !admin enable-group <group> - Enable all commands, promotions, and aliases belonging to the specified group.
    • !admin disable-group <group> - Disable all commands, promotions, and aliases belonging to the specified group.
  • Experimental support for requesting YouTube songs and associated settings.
  • player/duplicate-duration to enforce a minimum duration between requesting duplicates songs.
  • Added song/*/min-currency, for a minimum currency limit to request songs.
  • Added song/*/subscriber-only and song/subscriber-only to limit song requests to subscribers only.
OxidizeBot - More Chaos

Published by udoprog over 5 years ago

Changed

  • !song promote now moves the promoted song to the front of the queue instead of swapping positions with the first song in the queue. (#30)

Added

OxidizeBot - The ChaosMod Release

Published by udoprog over 5 years ago

Changed

Added

  • !promo now uses hangout detection determined by the irc/idle-detection/threshold setting.
  • !afterstream command without argument now prints a help message (#26).
  • Added gtav module to interface with ChaosMod. See gtav configuration.
  • Theme songs now can have an end parameter, indicating when it should end.
  • Song requests can be rewarded using the song/request-reward setting.
  • Water reward can be scaled using water/reward%.
  • Viewer reward can be scaled using irc/viewer-reward%.

Changed

  • Fixed bug where Settings frontend would make the value into a string before sending it to backend.