Add Webhook backend to EventSub
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
At current point in time EventSubClient in LukeBot only supports WebSockets as a connection backend. While this is great for locally developing the bot, this also presents a problem when trying to have LukeBot be actually recognized as a chat bot in broadcaster's chats - Twitch actively rejects WebSockets as a connection method and does not grant a Chat bot badge to bots connected this way.
EventSub has two other backends - Conduits and Webhook. Conduits are for a much more scalable scenario and LukeBot is probably not going to be anywhere near that. On the other hand, in the early days Webhook was not an option because LukeBot was always run locally. Since that changed, Webhooks should be an alternative way of hooking up to EventSub.
This will revolutionise EventSubClient a bit and has to be done after #22 .
This change has to be configurable as WebSockets are very handy when testing the bot locally, especially with Twitch CLI.
https://dev.twitch.tv/docs/eventsub/handling-webhook-events/
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading EventSubClient and the Twitch EventSub webhook documentation, then review the work required by issue #22. Identify how the existing WebSocket backend is selected and where a configurable backend choice belongs. Done means LukeBot can use Webhook or WebSockets, with WebSockets remaining convenient for local Twitch CLI testing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100