Getting rate limited now? URGENT

@Dist Sure we could say it’s app design. But how would you build the following conceptually and have a responsive application for the end user?

A dashboard of a streamers current viewers, and whether each viewer is following, or a subscriber.

There is no event system for subscribes. So we have to do one check for every user that enters the channel every time we stream. Let’s say we cache this. For the length of the stream. That’s fine because subs don’t just disappear (as far as I know?)

There is an event system for follows, but not unfollows. So we can’t exactly rely on this at all. So when a streamer goes live you have to get the status of every viewer in the channel. If the channel has > 500 viewers this becomes too much work. So now we have to get all the followers for the channel 100 at a time. Can we cache this? Not really, because there is no way to get unfollows other than “not in the list of 70,000”.

Youtube has this functionality because they have an “events API” where it has every “event” that occurred for the channel in a list based on time. So you can get “all new events” and stay up to date.

Do you have any suggestions on how to get over these hurdles? Right now I’m of the opinion that based on how the Twitch API has been built it only supports silly things like “when someone does X, do Y” stuff. Not stream management or persistent data applications.

From everything I can tell, to get something like this working you have to be doing 2 requests a second, constantly, forever, to keep up with the changing status of the channel and it’ll still have a 10minute+ lag per user.