You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 11, 2026. It is now read-only.
При использовании MaxClient (WebSocket режим) соединение разрывалось сразу после получения входящего сообщения. Обработчики сообщений (on_message) не вызывались.
Причина
В методе _send_notification_response в файле interfaces.py была инвертирована логика проверки:
Было:
if self._socket is not None and self.is_connected:
return
await self._send_and_wait(opcode=Opcode.NOTIF_MESSAGE, ...)
В WebSocket режиме self._socket = None, поэтому условие всегда было False, и код пытался отправить NOTIF_MESSAGE подтверждение на WebSocket сервер. WebSocket сервер не принимает такие ответы и закрывает соединение.
Решение
Исправить:
if self._socket is None: # WebSocket режим - не отправляем подтверждение
return
if not self.is_connected:
return
await self._send_and_wait(opcode=Opcode.NOTIF_MESSAGE, ...)
Подтверждение NOTIF_MESSAGE нужно отправлять только в Socket режиме (SocketMaxClient). В WebSocket режиме сервер обрабатывает подтверждения иначе.
Затронутые файлы
src/pymax/interfaces.py — метод _send_notification_response