19038dbc6e
[templating] Add currentVOD
function
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-09-11 20:30:55 +02:00
740a71a173
[marker] Add marker info to actor result
...
in order to enable rules to access i.e. the position of the marker
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-09-11 14:23:42 +02:00
5a8459cedc
[marker] Implement actor to create stream markers
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-09-04 00:06:55 +02:00
c63793be2d
Lint: Update linter config
...
and fix some newly appearing linter errors
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-06-09 13:01:32 +02:00
2a64caec09
[core] Fix: Include username and channel in ban errors
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-05-31 12:26:24 +02:00
7737d939f4
[eventsub] Add support for suspicious user events
...
- User status is updated
- User sent a message while having sus-user status
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-04-07 13:37:13 +02:00
264eef4130
[core] Fix: Do not retry core-kv query when it's not set
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-04-07 13:37:13 +02:00
262742603c
[eventsub] Fix: Fetching existing subscriptions broken
...
as of fetch must not specify more than one filter
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-04-03 13:14:44 +02:00
f684abc29f
Lint: Update linter config, remove no longer required exeptions
...
which might be a false-negative and re-added later
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-03-28 00:15:53 +01:00
1d4cbd9a66
[eventsub] Fix: Properly handle 409 error
...
by fetching the existing subscription instead of failing to access the
expected response which is not there in case of a collision
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-03-28 00:09:28 +01:00
0e4a963bc7
[eventsub] Fix: Twitch renamed field in adbreak_begin
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-03-25 22:23:31 +01:00
c3085ea7f9
[eventsub] Suppress error on abnormal closure and reconnect
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-03-23 12:03:39 +01:00
031ad331e4
[eventsub] Fix: Do not retry subscription on collision
...
resolves #TWITCH-BOT-7
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-03-22 21:29:07 +01:00
f2ac1acb17
[core] Add support for Hype-Train events
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-03-04 00:13:37 +01:00
673ed1e29a
Lint: Resolve linter issues
...
occurred with new Go / golangci-lint version
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-02-18 13:42:00 +01:00
c78356f68f
Lint: Update linter config, improve code quality
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-01-01 17:52:39 +01:00
61bab3c984
[eventsub] Fix: Log error when giving up subscription retries
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-22 15:18:52 +01:00
8b3d3bdc98
[eventsub] Fix: Stop subscription-retries when client is closed
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-16 12:52:54 +01:00
eec4966b82
[eventsub] Fix: Clean IPs from eventsub-socket read errors
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-14 00:19:29 +01:00
1515536746
[twitch] Fix: Log correct error when wiping token fails
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-13 23:31:06 +01:00
e1f11a6c98
[eventsub] Make topic subscriptions more dynamic
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-13 23:14:50 +01:00
091dac235b
[eventsub] Update field naming for ad-break, use V1 event
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-12 16:00:08 +01:00
ee5e7359a2
[core] Add auth-cache for token auth
...
to speed up frontend and reduce CPU/MEM consumption on consecutive API
requests
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-06 21:57:02 +01:00
0d10b5165f
[core] Add retries for database access methods
...
to compensate for database temporarily not being available. This is not
suitable for longer database outages as 5 retries with a 1.5 multiplier
will not give much time to recover but should cover for cluster changes
and short network hickups.
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-12-04 16:19:36 +01:00
a1fa9972a8
[core] Fix: Do not retry requests with status 429
...
which for example can happen when doing two shoutouts within the 120s
cooldown period enforced by Twitch
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-11-27 23:18:53 +01:00
e7a493cafe
[CLI] Add database migration tooling
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-11-26 16:55:05 +01:00
9ebdaa8a71
[templating] Add scheduleSegments
function
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-11-05 13:44:16 +01:00
cb68b029ec
[core] Add timeout to eventsub connection dialer
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-11-05 11:50:56 +01:00
932e6907da
[eventsub] Replace keepalive timer
...
as `time.Timer` wasn't really suited for how it was used
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-10-30 11:36:03 +01:00
a9e4931271
Add support for beta Ad-Break event
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-10-22 16:20:58 +02:00
ac4312ffc4
[core] Expose method to retrieve AppAccessToken
...
in order for libraries to for example instantiate an IGDB client easily
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-10-10 14:42:32 +02:00
40dc38d9ac
[core] Fix: New followers endpoint requires user-token
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-10-08 12:26:43 +02:00
fbc76761b4
[core] Fix: Replace deprecated follow API
...
- add `moderator:read:followers` scope to bot-defaults
- document requirement of bot to be mod to read followers
- adjust `GetFollowDate` method to use new channel followers endpoint
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-09-29 14:58:59 +02:00
1ac20921a1
[core] Add user:manage:whispers
extended scope
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-09-13 22:41:46 +02:00
bcc5b4eba7
[core] Update go-irc to v4.0.0
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-09-11 19:51:38 +02:00
fb57cb9304
[templating] Add usernameForID
function
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-09-03 12:09:33 +02:00
253379e507
[clip] Add clip
actor
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-08-14 16:09:55 +02:00
8a40f105e3
[core] Fix: Clean usernames when querying user information
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-08-14 15:53:51 +02:00
c263c72f9b
[core] Improve GetCurrentStreamInfo lib function
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-07-30 14:03:55 +02:00
76e72e8148
[core] Use app-access-tokens for stream info
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-07-27 12:42:58 +02:00
3f64d60c43
[core] Add support for stream schedule to twitch lib
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-07-27 12:42:58 +02:00
7afea3ea30
[twitchclient] Reduce retries and errors when banning banned user
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-07-21 20:37:20 +02:00
a58b72c268
[ #16 ] Implement Raffle module ( #47 )
2023-07-14 16:15:58 +02:00
a4a3a7f81e
[eventsub] Replace IsMature
tag in channel updates
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-07-04 00:05:04 +02:00
fc93c6e63b
[core] Export Twitch client Request
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-07-01 16:48:21 +02:00
49aba55cfe
[core] Clean IPs from socket errors
...
in order not to log IPs (GDPR) and also to prevent spread of errors in
Sentry logging as IP/Port combinations are unique per connection and
therefore will spam with many unique errors. By removing the unique
information from the error the errors should be groupable again.
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-06-24 14:59:36 +02:00
a136902d58
[eventsub] Add debug logging for subscribed topics
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-05-21 16:01:22 +02:00
79fb09469c
[template] Add lastPoll
function
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-05-21 15:28:10 +02:00
04648a22e0
[eventsub] Add poll_begin
, poll_end
, poll_progress
events
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-05-21 14:59:06 +02:00
0e7af1cfc8
[eventsub] Switch to Websocket transport ( #46 )
...
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2023-05-18 15:09:25 +02:00