It is known that when you are connected to a channel and it gets suspended for whatever reason, everything stops (you don’t receive any messages), but you don’t get notified of it - only when you try to send a message or try to join the channel again you get @msg-id=msg_channel_suspended.
But what about anonymous logins? How do you check if a channel you’re currently in is suspended? Should you now just send JOIN together with your PING for every channel you’re in?
One option would be to poll the Get Users endpoint https://dev.twitch.tv/docs/api/reference#get-users for the channels that use your services. You can request up to 100 channels per request, and as this is something you shouldn’t need to do all that often the use of rate limit should be negligible.