To be clear, I understand that being pushed updates via IRC or a websocket is convenient for certain types of apps, but for my case, it is too risky. I need reliability way more than I need convenience. With the Twitch API, I will get an error when a request for new data fails, and I can log the error and just try the API again later. With a connection to the chat servers, if that connection goes down, I can log that the app was offline, but I have no way to know what messages I missed while it was offline.