app.py | ||
config.toml | ||
Pipfile | ||
Pipfile.lock | ||
README.md |
Twitch WebHook Mirror
A simple web service that forwards Twitch's EventSub events to a websocket.
Why
In the beginning, there was PubSub, a webhook-based method to get notifications from twitch. This is great for people like Streamlabs who run big ol' servers to handle a lot of traffic for a lot of users, but is a pain in the ass for individuals that want to consume these in a self-hosted, freedom respecting manner (as webhooks mean you need to run a server and make it public to the internet so twitch can connect push data whenever - a pain, but doable). Twitch also offers a very handy IRC server, but limits that to chat messages, cheers, and raids (notably, this is missing follow events, which are important for those just starting out).
In their infinite wisdom, twitch saw this was a pain point and added a new system called EventSub, which unlike PubSub that came before it is transport agnostic! No longer will we be shackled to-
wait, no, although they claim the new system is transport agnostic, they only implemented one transport: webhooks.
and they require TLS for webhooks, so you need to also register a domain.
...and they dropped a lot of events, like follows, from PubSub.......
what do!?!?!????!?!
There are two choices: suck it up and pay for a server to get those precious webhook-only events, or suck it up and wait for twitch to add a websocket-or-similar transport for EventSub.
This program is made to facilitate the first, and since not everyone has the technical knowledge nor funds to do such a thing, enables one server to be setup by a kind soul and used by many.