If a stream goes live and the show is not set from the API then attempt to determine the show from the stream title. Also reset the show, show override, and game override when the stream goes offline.
The matching works similar to #1519: there's a new nullable column on the shows table named pattern that can contain a case insensitive regex that the stream title needs to match.
If there are no matches or multiple matches then a message is sent to the mod Slack.
Also switch the stream up/down notifications to use EventSub instead of the undocumented PubSub topic and a poll loop. Instead of writing an autoreconnecting WebSocket thing again I decided to use twitchAPI for this.
The Discord bot's API has changed which will require a PR on that side as well: andreasots/eris#3389
If a stream goes live and the show is not set from the API then attempt to determine the show from the stream title. Also reset the show, show override, and game override when the stream goes offline.
The matching works similar to #1519: there's a new nullable column on the
shows
table namedpattern
that can contain a case insensitive regex that the stream title needs to match.If there are no matches or multiple matches then a message is sent to the mod Slack.
Also switch the stream up/down notifications to use EventSub instead of the undocumented PubSub topic and a poll loop. Instead of writing an autoreconnecting WebSocket thing again I decided to use twitchAPI for this.
The Discord bot's API has changed which will require a PR on that side as well: andreasots/eris#3389