Alright, the bot is supposed to be used on different channels (like Nightbot and Moobot). I was asking because I needed to know how to make sure that the bot didn’t get itself banned by giving lots of users feedback on different channels.
So if you log into the same account on different IPs, then the bot won’t get globalled if it has to send a fair amount of messages?
You can have 30 different instances of your bot from the same IP.
Twitch only uses your IP when they ban you for surpassing their limits, but their limits are per connection and not by IP
It’s not documented anywhere, it has never been but i assume that’s how it works.
The docs are better now but there’s still some info missing about the chat limits. They have always been a little bit confusing, especially for new devs.
Message rate limit is per TCP connection, not IP address, however the resulting block is by IP. JOIN/authentication limiting is per IP.
If your bot is going over the 100 in 30 limit even after implementing a proper queuing system you should reach out to support to discuss white-listing which will grant an even higher limit for messages. Using multiple connections to bypass limits could be interpreted as a violation of the developer agreement.
If your bot is posting more than 20 messages in 30 seconds on a single channel, it’s either posting too much or there’s a better way to provide the service… The 100 mod status allows should be plenty.
The reason I’m asking these questions now even though the bot is small is because I want this bot or future bots I make to be scalable, just in case there’s a huge streamer that suddenly uses it.
Hey @DallasNChains, can we get some insight on this subject?
I’ve been reading the Developer Agreement again (more precisely the “IV - C - Rate Limits” topic) and I couldn’t determine if using multiple TCP connections is a possible violation of this agreement.
I don’t think there’s another way to let our bots distribute the load across thousands of channels besides using multiple TCP connections.
I don’t know if white-listing is a thing on Twitch (besides whispers) since it isn’t documented anywhere, but if it is, how can we apply and what are the new limits to make sure our services keep running?
Most developers get “scared” on how to handle Twitch’s chat limits (probably because of the mod status that they need to keep an eye to make sure they don’t surpass the limits if they get unmoded in the middle of a stream)
The whitelist for Whispers and IRC are the same. That’s existed since Nov of 2015-ish? Well before my time. You can apply for it via Support. Not everyone gets whitelisted though. We evaluate each bot on a case-by-case basis. It’s also just an elevated limit for messages, so you’d still have guard rails to work inside of.
Re: rate limits. In general, we approach rate limits from an abuse perspective. E.g. Hitting the REST API with 1,000 req/second or sending thousands of messages/second to IRC. You’ll get a polite-but-firm email from me in those situations.