I’m new around here, but I’ve been developing applications for Twitch for awhile. My recent project is something of an irc bot that handles other aspects of management.
My project requires to check if a user is following before permitting them. Now I might be mistaken, but I have to use the kraken api for for this? From what I witnessed, my IRC bot wasn’t spewing any information or actions for followers even with the requests for all membership/tags/badges etc. So the kraken method is what I went with.
If I was to run this application where the chat is very fast, how many requests, or in what time frame, would be it considered abuse?
Well, I guess the rate is just going to have to be vague explanation then. Future reference: https://www.twitch.tv/p/api_terms_of_service. But I really need to do like (if user is following) per user command and periodically (for user in database of 50,000, if user following)
The question was two parts. If the irc noted something for followers, like it does for subs and mods, than I wouldn’t have to make these requests in addition to making additional calls in my program.
Consider this a request for a follower=’ ’ attribute in the IRC output for the version 4 of the API.
Otherwise, I can either get a list of all my followers and processes them ALL at 3 second intervals. Or spawn a child process or thread - per user - that halts for 3 seconds before making the GET request. . . . All possible means, but I’m sure you can see how redundant this is.
I’m open to any other suggestions if you wish to share?
Just for clarification, IRC and API are not versioned together. They’re different systems and teams.
Polling the API is a common use pattern with Twitch. Most folks grab the list, cache it, grab again in 1 - 3 minutes (due to the caching mechanisms on the API), and then diff between the cache and the live values. This is the easiest way without reprocessing the entire list. You don’t need to poll per user every 3 seconds. The cache won’t be updated that quickly.
For anyone who may stumble across this thread in the future. Check out twitchalerts “stream labels” chrome extension. It will handle the backend for checking subs, donations, etc and output to text files in a directory of your choosing. There is like 50 different type of files, such as most_recent_follower.txt. I spent hours creating a api polling program, when I could have just polled those files. This is better because the stream label files are synced better with the actual stream’s activity being the api for “us” will only update every 3 minutes.