diff --git a/src/oneme_tcp/controller.py b/src/oneme_tcp/controller.py index 1663bc2..463d3e4 100644 --- a/src/oneme_tcp/controller.py +++ b/src/oneme_tcp/controller.py @@ -53,6 +53,19 @@ class OnemeMobileController(ControllerBase): packet = self.proto.pack_packet( cmd=0, seq=1, opcode=self.proto.NOTIF_TYPING, payload=payload ) + elif eventType == "profile_updated": + # Данные события + profile = eventData.get("profile") + + # Данные пакета + payload = { + "profile": profile + } + + # Создаем пакет + packet = self.proto.pack_packet( + cmd=0, seq=1, opcode=self.proto.NOTIF_PROFILE, payload=payload + ) # Отправляем пакет writer.write(packet) diff --git a/src/oneme_tcp/processors.py b/src/oneme_tcp/processors.py index 3377074..d97d13a 100644 --- a/src/oneme_tcp/processors.py +++ b/src/oneme_tcp/processors.py @@ -1121,14 +1121,22 @@ class Processors: username=user.get("username") ) + # Данные пакета + payload = { + "profile": profile + } + # Отправляем ответ на запрос (CMD_OK) packet = self.proto.pack_packet( - cmd=self.proto.CMD_OK, seq=seq, opcode=self.proto.PROFILE, payload=profile + cmd=self.proto.CMD_OK, seq=seq, opcode=self.proto.PROFILE, payload=payload ) await self._send(writer, packet) - # Отправляем уведомление об изменении профиля (CMD_NOF) - notif_packet = self.proto.pack_packet( - cmd=self.proto.CMD_NOF, seq=0, opcode=self.proto.NOTIF_PROFILE, payload=profile - ) - await self._send(writer, notif_packet) \ No newline at end of file + # Отправляем всем сессиям о изменении профиля + await self.event( + user.get('id'), + { + "eventType": "profile_updated", + "profile": profile + } + ) \ No newline at end of file