twitch-bot/History.md

28 KiB

3.33.2 / 2024-08-27

  • Bugfixes
    • [overlays] Fix KoFi donation currency in eventfeed
    • [raffle] Lint: Ignore linter false-positive
    • [CI] Lint: Replace deprecated linter

3.33.1 / 2024-08-14

  • Bugfixes
    • [core] Fix: Do not execute action after permission check
    • [editor] Update dependencies
    • [raffle] Fix: Send ID as string

3.33.0 / 2024-07-27

  • New Features

    • [overlays] Add eventfeed as default-overlay
  • Improvements

    • [linkcheck] Add support for meta-redirects
  • Bugfixes

    • [kofi] Fix: Use message as string
    • [overlays] Fix: Transmit event-id as string

3.32.0 / 2024-06-09

  • New Features

    • [templating] Add streamIsLive function
  • Bugfixes

    • [core] Fix: Accept proper token declaration in Authorization header
    • [core] Fix: Include username and channel in ban errors

3.31.0 / 2024-05-13

  • Improvements

    • [core] Add locking to prevent concurrent rule executions
  • Bugfixes

    • [spotify] Fix: Refresh-Token gets revoked when using two functions

3.30.0 / 2024-04-26

  • New Features

    • [templating] Add userExists function
  • Improvements

    • [eventsub] Suspicious user topics were moved from beta to v1
  • Bugfixes

    • Update dependencies

3.29.2 / 2024-04-13

Important

This release introduces a new configuration validation which might lead to your bot not starting as of stronger type checking of actor settings. To validate the config is fine run a validation against the config once before replacing the bot binary / Docker image:

./twitch-bot --storage-conn-string "file::memory:?cache=shared" -c path/to/config.yaml validate-config

Using the connection string shown above will use a non-persistent database and can be used while the existing bot is running.

  • New Features

    • [eventsub] Add support for suspicious user events
  • Improvements

    • [core] Enforce attribute type schema validation on config
    • [core] Remove deprecated fallback token / token migration
    • [counter] Allow counterTopList to specify how to sort
    • [counter] Record first seen and last updated on counters
    • [counter] Revise template parsing logic
    • [docs] Add field-type annotations to events
    • [spotify] Improve error handling / documentation
    • [spotify] Switch to PKCE flow, remove need for clientSecret
  • Bugfixes

    • [core] Fix: Do not retry core-kv query when it's not set
    • [core] Fix: Don't initialize twitch client before start checks
    • [eventsub] Fix: Fetching existing subscriptions broken

Note

In case you're using the DockerHub Docker images and rely on the presence of the stable tag please switch to the Github Registry and use the latest tag. Development releases are published as develop. The stable tag will not be updated beyond v3.28.1, DockerHub images are currently still supported but will be faded out.

Note

Re-release of v3.29.0 as of broken tests in that release, no functional changes.

3.29.0 / 2024-04-13

Important

This release introduces a new configuration validation which might lead to your bot not starting as of stronger type checking of actor settings. To validate the config is fine run a validation against the config once before replacing the bot binary / Docker image:

./twitch-bot --storage-conn-string "file::memory:?cache=shared" -c path/to/config.yaml validate-config

Using the connection string shown above will use a non-persistent database and can be used while the existing bot is running.

  • New Features

    • [eventsub] Add support for suspicious user events
  • Improvements

    • [core] Enforce attribute type schema validation on config
    • [core] Remove deprecated fallback token / token migration
    • [counter] Allow counterTopList to specify how to sort
    • [counter] Record first seen and last updated on counters
    • [counter] Revise template parsing logic
    • [docs] Add field-type annotations to events
    • [spotify] Improve error handling / documentation
    • [spotify] Switch to PKCE flow, remove need for clientSecret
  • Bugfixes

    • [core] Fix: Do not retry core-kv query when it's not set
    • [core] Fix: Don't initialize twitch client before start checks
    • [eventsub] Fix: Fetching existing subscriptions broken

Note

In case you're using the DockerHub Docker images and rely on the presence of the stable tag please switch to the Github Registry and use the latest tag. Development releases are published as develop. The stable tag will not be updated beyond v3.28.1, DockerHub images are currently still supported but will be faded out.

3.28.1 / 2024-04-02

  • New Features

    • [spotify] Add spotifyLink template function
    • [templating] add humanDateDiff and formatHumanDateDiff functions
  • Improvements

    • [eventsub] Suppress error on abnormal closure and reconnect
    • [overlays] Lower socket abnormal closure log-level to warning
  • Bugfixes

    • [core] Update dependencies
    • [docs] Fix: Add missing documentation for adbreak_begin
    • [eventsub] Fix: Do not retry subscription on collision
    • [eventsub] Fix: Twitch renamed field in adbreak_begin

Note

Re-release of v3.28.0 as of broken tests in that release, no functional changes.

3.28.0 / 2024-04-02

  • New Features

    • [spotify] Add spotifyLink template function
    • [templating] add humanDateDiff and formatHumanDateDiff functions
  • Improvements

    • [eventsub] Suppress error on abnormal closure and reconnect
    • [overlays] Lower socket abnormal closure log-level to warning
  • Bugfixes

    • [core] Update dependencies
    • [docs] Fix: Add missing documentation for adbreak_begin
    • [eventsub] Fix: Do not retry subscription on collision
    • [eventsub] Fix: Twitch renamed field in adbreak_begin

3.27.0 / 2024-03-20

  • New Features

    • [spotify] Add spotifyCurrentPlaying template function
  • Improvements

    • [core] Add Sentry-Environment configuration
  • Bugfixes

    • [core] Fix: Newly initialized bots crash when not authorized yet
    • [overlays] Fix: JOIN / PART events spamming the database

3.26.1 / 2024-03-06

  • Bugfixes
    • [editor] Fix: Add hypetrain events to events match dropdown

3.26.0 / 2024-03-05

  • New Features

    • [core] Add support for Hype-Train events
  • Improvements

    • [CI] Add Docker-Publish pipeline
    • [docs] Update Docker image references to GHCR

3.25.0 / 2024-02-18

  • New Features

    • [kofi] Add kofi_donation event and Ko-fi webhook handler
  • Improvements

    • [core] Remove support for hype_chat event

3.24.1 / 2024-01-24

  • New Features

    • [core] Add support for watch_streak event
    • [overlays] Add support for replaying events
  • Improvements

    • [linkcheck] Refactor: Improve wait-code
    • [overlays] Add WebDAV support for remote Overlay editing
  • Bugfixes

    • [ci] Lint: Update linter config, improve code quality
    • [core] Update dependencies
    • [eventsub] Fix: Log error when giving up subscription retries
    • [linkcheck] Fix tests broken by domain grabbers
    • [overlays] Fix: Do not spam logs with errors when overlay reloaded

3.24.0 / 2024-01-24

  • New Features

    • [core] Add support for watch_streak event
    • [overlays] Add support for replaying events
  • Improvements

    • [linkcheck] Refactor: Improve wait-code
    • [overlays] Add WebDAV support for remote Overlay editing
  • Bugfixes

    • [ci] Lint: Update linter config, improve code quality
    • [core] Update dependencies
    • [eventsub] Fix: Log error when giving up subscription retries
    • [overlays] Fix: Do not spam logs with errors when overlay reloaded

3.23.1 / 2023-12-20

  • Bugfixes
    • [CI] Fix: Prevent tag collision in CI

3.23.0 / 2023-12-20

Note

This release slightly changes the way release binaries are packaged: The binary is now named twitch-bot instead of i.e. twitch-bot_linux_amd64 within the archives.

  • Improvements

    • [editor] Improve wording and visibility for bot connection
  • Bugfixes

    • [quote] Fix: Add primary key to quote table
    • [eventsub] Fix: Stop subscription-retries when client is closed

3.22.0 / 2023-12-14

  • Improvements

    • [editor] Display clear warning when ext perms are missing
    • [eventsub] Make topic subscriptions more dynamic
  • Bugfixes

    • [core] Fix: Properly handle channels without credentials
    • [eventsub] Fix: Clean IPs from eventsub-socket read errors
    • [eventsub] Update field naming for ad-break, use V1 event
    • [twitch] Fix: Log correct error when wiping token fails

3.21.0 / 2023-12-09

  • Improvements
    • [raffle] Add functionality to reset a raffle

3.20.0 / 2023-12-08

  • New Features

    • [cli] Add database migration tooling
    • [raffle] Add Actor to enter user into raffle using channel-points
    • [templating] Add scheduleSegments function
  • Improvements

    • [core] Add auth-cache for token auth
    • [core] Parallelize rule execution
    • [linkdetector] Add more ways of link detection in heuristic mode
    • [linkdetector] Use resolver pool to speed up detection
  • Bugfixes

    • [core] Add retries for database access methods
    • [core] Add timeout to eventsub connection dialer
    • [core] Fix: Do not retry requests with status 429
    • [core] Update dependencies
    • [eventsub] Replace keepalive timer
    • [raffle] Fix datatype in API documentation

3.19.0 / 2023-10-28

Important

This release fixes a long-standing bug in botHasBadge introduced in v1.1.0 causing the function to yield a broken result. Update is therefore strongly advised!

  • New Features

    • [templating] Add function chatterHasBadge
    • [templating] Add counterRank and counterTopList functions
    • [core] Add support for beta Ad-Break event
  • Improvements

    • [core] Expose method to retrieve AppAccessToken
  • Bugfixes

    • Update dependencies

3.18.2 / 2023-10-08

  • Bugfixes
    • [core] Fix: New followers endpoint requires user-token

3.18.1 / 2023-10-05

  • Bugfixes
    • [core] Fix: Replace deprecated follow API

3.18.0 / 2023-09-21

  • New Features

    • [core] Add channel specific module configuration interface
    • [templating] Add idForUsername function
    • [templating] Add usernameForID function
  • Improvements

    • [core] Add user:manage:whispers extended scope
    • [core] Update go-irc to v4.0.0
  • Bugfixes

    • [ci] Update dependencies
    • [raffle] Insert newly created raffles with NULL reminder time
  • Documentation

    • [docs] Add raffle documentation
    • [docs] Add raffle module as feature to start page
    • [docs] Fix broken preparations image
  • Deprecations

    • [core] Mark twitch-token flag / envvar deprecated
    • [core] Remove v2 migration

3.17.0 / 2023-08-25

  • New Features

    • [templating] Add b64urldec and b64urlenc functions
  • Improvements

    • [docs] Add auto-generated template documentation (#50)
  • Bugfixes

    • [ci] Remove flaky test

Warning

This marks the last release to contain code to migrate from v2.x to v3.x releases. If you are migration from an old v2 instance at a later point in time you need to migrate to this version before continuing your journey to the latest v3 release.

3.16.0 / 2023-08-22

  • New Features

    • [clip] Add clip actor
    • [messagehook] Add actor for Discord / Slack hook posts
    • [overlays] Add sounds overlay as default
    • [templating] Add profileImage function
  • Improvements

    • [docs] Move documentation from Wiki to docs-site (#49)
    • [docs] Add Apache2 config sample (thanks to @Breitling1992)
    • [docs] Add "VIP of the Month" example rule (thanks to @Breitling1992)
  • Bugfixes

    • [core] Fix: Clean usernames when querying user information
    • [editor] Add shoutout_created to frontend-known events

3.15.0 / 2023-08-04

  • New Features

    • [core] Add support for hype_chat event
  • Improvements

    • [eventsub] Switch to channel.update/2
    • [linkdetector] Add new option to enable heuristic scan
    • [twitchclient] Reduce retries and errors when banning banned user

3.14.2 / 2023-07-21

  • Bugfixes
    • [ban] Fix Chatcommand matching

3.14.1 / 2023-07-16

  • Bugfixes
    • [raffle] Fix index initialization in MySQL v8

3.14.0 / 2023-07-16

  • New Features

    • Implement Raffle module (#47)
    • [template] Add textAPI function
  • Improvements

    • [ci] Update nodejs version for builds
    • [eventsub] Replace IsMature tag in channel updates
  • Bugfixes

    • [wiki] Fix example broken since v3.x

3.13.0 / 2023-06-25

  • New Features

    • [counter] Add counterValueAdd template function
  • Improvements

    • [core] Add cleanup for expired timers
    • [core] Clean IPs from socket errors
  • Bugfixes

    • [core] Fix missing timer configuration for permits

3.12.0 / 2023-06-07

  • New Features

    • [respond] Expose API route to send messages directly to chat
    • [template] Add mention function
  • Improvements

    • [eventsub] Add status field to poll_end event

3.11.0 / 2023-05-27

  • New Features

    • [eventsub] Add poll_begin, poll_end, poll_progress events
    • [template] Add lastPoll function
  • Improvements

    • [core] Reduce variance of Sentry errors containing IPs
    • [eventsub] Add debug logging for subscribed topics

3.10.0 / 2023-05-21

  • New Features

    • [eventsub] Switch to Websocket transport (#46)
  • Improvements

    • [core] Adjust logging for channel meta updates to match other events
    • [core] Allow case insensitive category matches
    • [editor] Remove character limit for AutoMessage template

3.9.0 / 2023-05-11

  • New Features

    • [template] Add subCount, subPoints template functions
  • Bugfixes

    • [wiki] Remove deprecated concat examples

3.8.0 / 2023-04-14

  • New Features

    • [linkprotect] Add Link-, Clip-Detector and Link-Protection actor (#42)
  • Improvements

    • [core] Add connection tuning for MySQL databases
    • [core] Remove "host" related functionality
    • [editor] Add validation for template fields
  • Bugfixes

    • [core] Fix: Message matcher matched also event content
    • [editor] Fix badge key-repetition for duplicated actions

3.7.0 / 2023-03-31

  • New Features

    • [commercial] Add commercial actor
    • [eventsub] Add shoutout_created event
  • Improvements

    • [core] Add validation and reset of encrypted values
    • [eventsub] Switch to v2 follows topic
  • Bugfixes

    • [core] Ensure channel has correct format in access service
    • [core] Fix: Allow start when no tokens are available
    • [core] Fix type warnings for Swagger documentation
    • [eventsub] Fix wrong channel in shoutout_received event

3.6.0 / 2023-03-06

  • New Features

    • [eventmod] Add eventmod actor
    • [eventsub] Add shoutout_received event
  • Improvements

    • [script] Add rule ID to error
  • Bugfixes

    • [editor] Fix number-of-lines mode causing type-error

3.5.1 / 2023-02-08

  • Bugfixes
    • [core] Fix: List all configured channel permissions

3.5.0 / 2023-02-08

  • New Features

    • [shield] Add shield mode actor
    • [stopexec] Add stopexec actor
    • [template] Add recentTitle template function
  • Improvements

    • [core] Rewrite bot token storage logic
    • [editor] Add new moderator:read:followers scope and pin follow subscription version
    • [editor] Notify frontend to reload data after token change
  • Bugfixes

    • [editor] Ensure updating bot token does not drop scopes
    • [editor] Fix Node package vulnerabilities
    • [editor] Fix non-optional booleans causing rules to be non-saveable
    • [editor] Fix: When match_message is cleared, remove it completely

3.4.0 / 2023-01-27

  • New Features

    • [shoutout] Implement actor and slash-command for shoutout API
  • Improvements

    • [editor] Add notification in case bot is missing default-scopes

3.3.0 / 2023-01-07

  • Bugfixes

    • [core] Fix: Remote-update cron broken as of missing field
  • New Features

    • [log] Add log-actor
    • [template] Add doesFollow and doesFollowLongerThan functions
    • [templating] Add followAge function
  • Improvements

    • [customevent] Add scheduled events to API handler

3.2.1 / 2022-12-24

  • Bugfixes
    • [twitch] Fix: Pagination fetching broken for eventsub subscriptions

3.2.0 / 2022-12-22

  • New Features

    • Add fine-grained permission control for extended channel permissions (#35)
    • [twitch] Implement AddChannelVIP, RemoveChannelVIP
    • [vip/unvip] Implement actors and chat commands
  • Improvements

    • [core] Add content-type detection for remote rule subscriptions
    • [core] Add retries for eventsub-self-check
    • [core] Add validation for rule UUIDs to be unique
    • [core] Allow plugins to evaluate whether permissions are available

3.1.0 / 2022-11-24

  • New Features
    • [core] Add Sentry / GlitchTip error reporting

3.0.0 / 2022-11-02

⚠ Breaking Changes:

  • Backend storage format has been switched from JSON-file to database. Migrations must be run before use of v3.x version. See README for instructions.
  • Some template function have been migrated to a new function collection. See migration section of Templating documentation for required changes.

Changelog:

  • New Features

    • [core] Add config validation command
    • [core] Add rule-subscription feature
    • [core] Add outbound_raid event
    • [customevent] Add scheduled custom events
    • [templating] Add jsonAPI template function
  • Improvements

    • [core] Move storage to database (#30, #32) ⚠
    • [core] Allow to pass ID to channel modification
    • [core] Extend API and replace deprecated chat commands (#34)
    • [editor] Add all template functions to highlighter
    • [overlays] Add hide option to debug overlay
    • [templating] Add sprig functions, replace some built-ins ⚠
  • Bugfixes

    • [core] Fix: Allow 5s for rule updates

2.7.1 / 2022-09-06

Bugfix release, repeating v2.7.0 changelog as of broken release.

  • New Features

    • [template] Add randomString template function
  • Improvements

    • [core] Make number of subscribed months available for subgift
    • [security] Add mitigation for slowloris DoS attack vector
  • Bugfixes

    • [msgformatter] Fix: Trim leading / trailing spaces
    • [ci / lint] Fix missing CI tooling, fix linter errors

2.7.0 / 2022-09-03

  • New Features

    • [template] Add randomString template function
  • Improvements

    • [core] Make number of subscribed months available for subgift
  • Bugfixes

    • [msgformatter] Fix: Trim leading / trailing spaces

2.6.0 / 2022-07-15

  • New Features

    • [editor] [#18] Add editor for disable_on_match_messages
    • [template] Add inList function
    • [template] Add "mod" function for modulo in templating
  • Improvements

    • [core] Expose user_id in events
    • [editor] Add explanatory hint for exceptions
  • Bugfixes

    • [editor] Fix: Token badges had no spacing

2.5.0 / 2022-06-06

  • Improvements
    • [core] Add multi_month parameter parsing for subs

2.4.0 / 2022-05-07

  • Improvements

    • [editor] [#23] Add confirmation for delete buttons
    • [editor] [#25] Allow searching in / sort rules
  • Bugfixes

    • [core] Fix: Notify event handlers before rules to prevent delays
    • [editor] [#28] Fix: Allow saving with empty optional duration
    • [editor] Fix: Remove asymmetric margin from buttons
    • [modchannel] [#26] Fix: Modify channel module not working for editor-bots (#27)

2.3.0 / 2022-04-22

  • New Features

    • [core] Add more mathematical functions for templating
    • [customevent] Add API module and actor to create custom events
    • [filesay] Add FileSay actor to "paste" files with commands
    • [msgformat] Add module to retrieve filled template through API
    • [overlays] Add overlays server with some example templates and library
  • Improvements

    • [core] Add delete event for deleted chat messages
    • [core] Add origin_id to subgift / submysterygift events
    • [core] Add support for annoumcement event type
    • [core] add total_gifted field for gifts, use numeric values for some fields
    • [core] Provide message in announcement, bits and resub events
    • [counter] Add template support for counter step
    • [counter] Remove stored counter value on zero value
    • [editor] Add bot version to frontend
    • [editor] Improve location of permission warning
    • [timeout] [#15] Allow timeout reason to be set
  • Bugfixes

    • [ban] Fix: Add missing API docs
    • [core] Delete refresh token only for HTTP errors, not on connection issues
    • [core] Fix: Accept 1s cooldown, fix user and channel cooldowns
    • [core] Fix: EventSub messages had misformatted channel
    • [core] Fix: Handle unauthorized error for app-access-tokens
    • [core] Fix: Raid viewercount should be numeric, not string
    • [core] Re-check token validity more often than on expiry
    • [editor] [#19] Validate durations when checking for invalid rules
    • [editor] [#20] Fix: Strip query parameters from redirect uri
    • [editor] Fix node package vulnerability / update dependencies
    • [editor] Fix: Upgrade contains a header send, error must not send headers
    • [status] Fix: Add missing API docs

2.2.0 / 2022-01-16

  • [ci] Make installed go binaries available during build
  • [core] Add deprecated but still used V5 ChannelEditor scope
  • [core] Add EventSub subscription prefetching
  • [core] Add "follow" event using EventSub
  • [core] Add handling for channel point rewards
  • [core] Do not retry POST requests automatically
  • [core] Fix: Event data was not available in rule templates
  • [core] Implement dynamic token update and broadcaster permissions (#13)
  • [core] Improve EventSub API request design
  • [docs] Update README
  • [editor] Display disconnected status instead of error
  • [editor] Fix follow-redirects vulnerability (CVE-2022-0155)
  • [editor] Prevent adding invalid usernames as channel / editor

2.1.0 / 2021-12-24

  • [automessage] Add disable switch
  • [ban] Add HTTP API route for banning users
  • [core] Add status / health check API
  • [core] Fix: send-message function passed to plugin was nil
  • [core] Fix: Strip newlines from message templates
  • [core] log bits from chat message
  • [editor] Fix: Removing cooldown resulted in save error
  • [editor] Rework to use esbuild / Vue component files (#12)

2.0.0 / 2021-12-03

  • [ban] Enable templating for ban reason
  • [core] Add giftpaidupgrade event
  • [core] BREAKING: Allow actors to set fields those after them (#11)
  • [core] Fix: Set channel for incoming host through jtv message
  • [core] Handle host announce messages from jtv user
  • [lint] Properly format inputs
  • [templating] Add multiply and seededRandom template functions

1.6.0 / 2021-11-11

  • [core] Add ban, clearchat and timeout events
  • [core] Add EventSub support for Twitch-Events (#10)
  • [core] Add moderator badge to broadcasters
  • [core] Prevent logging every PING message

1.5.0 / 2021-11-04

  • [nuke] Add new moderation module

1.4.0 / 2021-10-25

  • [core] Allow the bot to track config editor changes through Git
  • [core] Implement write authorization for APIs (#9)
  • [editor] Cleanup config by removing invalid / zero attributes
  • [openapi] Allow multiple mime-types on single route
  • [plugins] Move missing plugin-dir warning to debug level
  • [quotedb] Add simple page to list quotes

1.3.0 / 2021-10-22

  • [core] Add "bits" event
  • [core] Add streamUptime / formatDuration template functions
  • [core] Add submysterygift event, add more event data to events
  • [core] Add username fields to events
  • [core] Remove unused subscribed_months field from subgifts
  • [openapi] Allow subdir serving
  • [quotedb] Add new actor
  • [respond] Fix: Broken condition for fallback message
  • [respond] Fix: Empty string fallback should not count as fallback
  • [respond] Log message template errors even when fallback is set

1.2.0 / 2021-10-08

  • [core] Log submysterygift
  • [automessage] Move spammy message to trace-level
  • [core] Improve logs for USERNOTICE events
  • [editor] Add description to "Add Action" form group
  • Add "punish", "reset-punish" actors and storage manager (#8)

1.1.0 / 2021-10-01

  • [templating] Add botHasBadge function
  • [editor] Mark fully disabled rules in list

1.0.0 / 2021-09-22

  • Breaking: Add configuration interface and switch to more generic config format (#7)

0.18.0 / 2021-09-17

  • [script] Allow to skip cooldown on script error
  • [modchannel] Add modchannel core module
  • [core] Break actions execution when one action fails
  • [core] Transform broadcaster name into ID
  • [core] Add category search and channel update
  • [core] Expose GetIDForUsername function
  • [core] Expose TwitchClient to plugins
  • [core] Add fallback support to group template matches
  • [respond] Support sending message to different channel
  • [core] Reduce cache time for stream info
  • [core] Add Twitch events
  • [core] Add registration for raw-message-handlers

0.17.0 / 2021-08-28

  • Create API for counter and setvariable modules
  • Provide HTTP server and registration function
  • Provide central cron service to plugins

0.16.0 / 2021-08-21

  • Update dependencies and bring plugin example to work with master
  • Lint: Ignore gocritic for fatal program exit not running unlock
  • Move to Go1.17 mod-file, update dependencies
  • Disable CGO for default container
  • Allow plugins to register template functions
  • Add plugin support to allow extending of functionality (#6)
  • Add support to disable cooldown through the action module
  • Add method to send messages from within the bot without trigger
  • Add validation mode for config

0.15.0 / 2021-06-30

  • Wiki: Add example for generic chat-addable commands
  • Add support for dynamic variables
  • Lint: Update linter list, disable gomnd for some lines
  • Move timers to storage to persist them
  • Fix: Set channel for more events

0.14.0 / 2021-06-17

  • Fix: JSON is not able to decode 2s but 2 which is ns instead of s
  • Add concat template function
  • Disable auto-messages in non-observed channels
  • Automatically leave channel when removed from config

0.13.0 / 2021-06-13

  • Use more flexible Actor format to allow addition of new actors (#5)
  • Add user- and channel-based cooldowns (#4)
  • Fix: ID generation handling different automessages as same
  • Fix: Do not try to log functions
  • Fix: Do not access automessage attributes without lock

0.12.0 / 2021-06-05

  • Add "respond as reply" functionality

0.11.0 / 2021-06-02

  • Add retries to Twitch API calls

0.10.0 / 2021-05-27

  • Add Whisper / RawMessage actions
  • Add whisper event

0.9.0 / 2021-05-26

  • Add part event
  • Allow to disable automessages with templates
  • Add global variables to be used in templates
  • Add Disable and DisableOnTemplate attributes for rules
  • Drop HCL support (causes too much effort for too little benefit)

0.8.0 / 2021-05-24

  • Fix: Display fallback when no category is set in recentGame
  • Add displayName template function
  • Replace non-reliable fsevents library with simple check
  • Add HCL config format support

0.7.0 / 2021-05-13

  • Lint: Disable requirement for crypto/rand for time randomizer
  • Add delay-action

0.6.0 / 2021-05-12

  • Add sub events, document available event types

0.5.0 / 2021-05-11

  • Fix: Unlock auto-messages to prevent dead-locks
  • Log amount of loaded rules on (re)load
  • Support templating in automessages

0.4.1 / 2021-05-06

  • Include tzdata into Docker image to allow TZ env setting
  • Update README for new flags

0.4.0 / 2021-04-22

  • Introduce general send limit to prevent global-timeouts

0.3.0 / 2021-04-21

  • Extract template functions into registry
  • Lint: Reduce complexity of loadConfig function
  • Add raw-log functionality
  • Add a delay while joining channels

0.2.0 / 2021-04-04

  • Add instructions for token generation
  • Add GH page to generate token

0.1.0 / 2021-04-03

  • Initial release