More info on EBS?


I want to change my Twitch bot into an extension but my bot needs to communicate with a Lua script hosted by the streamer. So I assume for the extension what I need is the Extension Backend Service which I assume is a program that communicates with the extension that you can create in whatever. I don’t know much about net code and don’t understand even the basic of how to get a program to communicate with the extension. Is there somewhere that explains EBS’s better? On the extensions Twitch developer page I can’t find anything.


A good place to get started would be to look at the Twitch’s sample extensions. Hello World has a backend for Node.js and shows how the extension can send HTTP requests to the EBS which is a web accessible server listening for HTTP requests, verifies the JWT, and handles the requests appropriately (and in the case of this sample extension the EBS uses extension pubsub to broadcast a message to all extension users on that channel but it could just as easily respond to just the user who sent the request).

As well as HTTP, another option if you need real-time 2 way communication would be to use web sockets. Which is best for your use case depends on your extension needs, the main requirement of either method of communication with the EBS is that you do it securely over HTTPS or WSS.


To put it another way

EBS is a Fancy Name for “web server” it’s just a HTTP server that will serve up HTTP requests.

Building an Twitch extension is like building a website, the only difference is that the front end and it’s assets are stored on a CDN, which some people do with normal websites with services such as AWS Cloudfront, or the independant Cloudflare.

TLDR: EBS = A Web Server, usually running NGINX or Apache.