forked from kodorvan/stcs
Fixed the websocket
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user