diff --git a/server/websocket/message_handlers.py b/server/websocket/message_handlers.py index bb835ce..049975f 100644 --- a/server/websocket/message_handlers.py +++ b/server/websocket/message_handlers.py @@ -294,6 +294,34 @@ class RelaySessionDescriptionHandler(MessageHandler): ) +class StatusCheckHandler(MessageHandler): + """Handler for status_check messages - Bot health monitoring""" + + async def handle( + self, + session: "Session", + lobby: "Lobby", + data: Dict[str, Any], + websocket: WebSocket, + managers: Dict[str, Any], + ) -> None: + # Simple status check response + logger.debug(f"{session.getName()} <- status_check") + + # Respond with current status + await websocket.send_json( + { + "type": "status_response", + "data": { + "status": "ok", + "timestamp": data.get("timestamp"), + "session_id": session.id, + "lobby": lobby.getName() if lobby else None, + }, + } + ) + + class MessageRouter: """Routes WebSocket messages to appropriate handlers""" @@ -313,6 +341,9 @@ class MessageRouter: # WebRTC signaling handlers self.register("relayICECandidate", RelayICECandidateHandler()) self.register("relaySessionDescription", RelaySessionDescriptionHandler()) + + # Bot monitoring handlers + self.register("status_check", StatusCheckHandler()) def register(self, message_type: str, handler: MessageHandler): """Register a handler for a message type"""