diff --git a/src/oneme/controller.py b/src/oneme/controller.py index 7f96fe8..924a194 100644 --- a/src/oneme/controller.py +++ b/src/oneme/controller.py @@ -71,8 +71,9 @@ class OnemeMobileController(ControllerBase): ) # Отправляем пакет - writer.write(packet) - await writer.drain() + if writer != eventData.get("writer"): + writer.write(packet) + await writer.drain() def launch(self, api): async def _start_all(): diff --git a/src/oneme/models.py b/src/oneme/models.py index fec8b80..8730784 100644 --- a/src/oneme/models.py +++ b/src/oneme/models.py @@ -10,12 +10,12 @@ class UserAgentModel(pydantic.BaseModel): pushDeviceType: str arch: str = None locale: str - buildNumber: int + buildNumber: int = None deviceName: str deviceLocale: str class HelloPayloadModel(pydantic.BaseModel): - clientSessionId: int + clientSessionId: int = None mt_instanceid: str = None userAgent: UserAgentModel deviceId: str diff --git a/src/oneme/processors.py b/src/oneme/processors.py index f9b5107..a8a0422 100644 --- a/src/oneme/processors.py +++ b/src/oneme/processors.py @@ -525,10 +525,6 @@ class Processors: "time": int(time.time() * 1000) } - print( - json.dumps(payload, indent=4) - ) - # Собираем пакет packet = self.proto.pack_packet( cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.LOGIN, payload=payload @@ -692,7 +688,8 @@ class Processors: "chatId": 0 if chatId == senderId else chatId, "message": bodyMessage, "prevMessageId": lastMessageId, - "time": messageTime + "time": messageTime, + "writer": writer } ) @@ -1263,7 +1260,8 @@ class Processors: user.get('id'), { "eventType": "profile_updated", - "profile": profile + "profile": profile, + "writer": writer } )