Commit Graph

74 Commits

Author SHA1 Message Date
710783aaf7
[core] Fix: StreamMarker contained wrong ID format
as of broken documentation

Signed-off-by: Knut Ahlers <knut@ahlers.me>
2024-09-13 00:08:41 +02:00
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