2
0
forked from kodorvan/stcs

Merge pull request 'Fixed the websocket' (#35) from Alex/stcs:devel into stable

Reviewed-on: kodorvan/stcs#35
This commit is contained in:
2025-12-16 00:18:12 +07:00

View File

@@ -14,7 +14,6 @@ logger = logging.getLogger("web_socket")
class CustomWebSocket(WebSocket): class CustomWebSocket(WebSocket):
def _on_error(self, error): def _on_error(self, error):
logger.error(f"WebSocket error: {error}") logger.error(f"WebSocket error: {error}")
# Здесь можно добавить собственную логику, например уведомления, метрики и т.д.
return super()._on_error(error) return super()._on_error(error)
@@ -72,6 +71,13 @@ class WebSocketBot:
async def clear_user_sockets(self): async def clear_user_sockets(self):
"""Clear the user_sockets and user_messages dictionaries.""" """Clear the user_sockets and user_messages dictionaries."""
for tg_id, ws in list(self.user_sockets.items()):
try:
if ws and hasattr(ws, 'close'):
await ws.close()
except Exception as e:
logger.error(f"Error closing WS for {tg_id}: {e}")
self.user_sockets.clear() self.user_sockets.clear()
self.user_messages.clear() self.user_messages.clear()
self.user_keys.clear() self.user_keys.clear()
@@ -85,8 +91,7 @@ class WebSocketBot:
testnet=False, testnet=False,
channel_type="private", channel_type="private",
api_key=api_key, api_key=api_key,
api_secret=api_secret, api_secret=api_secret
ping_interval=20,
) )
self.user_sockets[tg_id] = self.ws_private self.user_sockets[tg_id] = self.ws_private