Reproduces tiktok-chat-reader.zerody.one — TikTok-Live-Connector + Socket.IO, with reconnect handling so a dropped socket never means a dropped live.
Live chat/gift/like/follow events over the real tiktok-live/event WebSocket channel. When TikTok drops the socket, the connector confirms via fetchIsLive() before retrying — it only stops once TikTok itself confirms the broadcast ended, so a flaky connection never looks like an ended live.