Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add initial experimental Twitch Eventsub support #5837

Merged
merged 47 commits into from
Feb 2, 2025
Merged

Conversation

pajlada
Copy link
Member

@pajlada pajlada commented Jan 19, 2025

This PR adds initial Twitch EventSub support - it does not attempt to replace any current functionality provided by PubSub, but rather it attempts to provide an opt-in base for us to collaborate on going forward.

A few things have been left in the TODO.md file that are "known issues"

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

src/providers/twitch/EventSub.cpp Outdated Show resolved Hide resolved
@pajlada pajlada force-pushed the feat/eventsub branch 3 times, most recently from 9f06d46 to 785dda0 Compare January 25, 2025 13:02
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

src/providers/twitch/EventSub.cpp Outdated Show resolved Hide resolved
src/providers/twitch/EventSub.cpp Outdated Show resolved Hide resolved
src/providers/twitch/eventsub/SubscriptionRequest.hpp Outdated Show resolved Hide resolved
pajlada and others added 13 commits February 1, 2025 11:16
start is now createConnection, which can be run multiple times
Close open EventSub connections on exit

Helix function to create subscriptions now accepts a SubscriptionRequest

Added a debugger for SubscriptionRequest

Added a `SubscriptionHandle` that can/will be able to take care of unsubscriptions from topics once no one is interested in them anymore. They're meant to work like scoped signal connections, where the dtor of the handle is what spits lowers the reference count of the "topic".

There's a bad subscription for `channel.ban` in TwitchChannel atm, but it's being used to test subscription handles and errors in permissions
@pajlada pajlada marked this pull request as ready for review February 2, 2025 14:39
Copy link
Member Author

@pajlada pajlada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@pajlada pajlada enabled auto-merge (squash) February 2, 2025 15:56
@pajlada pajlada disabled auto-merge February 2, 2025 15:56
@pajlada pajlada changed the title feat: eventsub support feat: add initial experimental Twitch Eventsub support Feb 2, 2025
@pajlada pajlada enabled auto-merge (squash) February 2, 2025 15:57
@pajlada pajlada merged commit 0f8a29f into master Feb 2, 2025
18 checks passed
@pajlada pajlada deleted the feat/eventsub branch February 2, 2025 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants