The issue I have with using the chatters API is that I wouldn’t be able to get the information before every message sent, so it would be just as unreliable as the +o/-o mode messages.
Also, with the USERSTATE message, that only shows after I send messages. So if I send 20 as a mod and then get unmodded, the bot would assume it’s still a mod and send another message then find out it shouldn’t have sent 20 messages.
It seems like there really is just no good way to prevent the bot from going over the rate limits in some cases. That’s kinda unfortunate. You’d think if they’d implement these limits, they’d make it possible to avoid going over them.