lookeypl / lookeypl/LukeBot

Add Webhook backend to EventSub

Open
#24 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.