TT: ну вроде шире поддержка, а вообще обратная совместимость с максом клас

This commit is contained in:
Alexey Polyakov
2026-05-05 23:06:50 +03:00
parent 89f1fefa31
commit bcd94b3a57
16 changed files with 1020 additions and 364 deletions

View File

@@ -0,0 +1,34 @@
import pydantic
import time
from classes.baseprocessor import BaseProcessor
from tamtam.models import AssetsPayloadModel
class AssetsProcessors(BaseProcessor):
async def assets_update(self, payload, seq, writer):
"""Обработчик запроса ассетов клиента на сервере"""
# Валидируем данные пакета
try:
AssetsPayloadModel.model_validate(payload)
except pydantic.ValidationError as error:
self.logger.error(f"Возникли ошибки при валидации пакета: {error}")
await self._send_error(seq, self.opcodes.ASSETS_UPDATE, self.error_types.INVALID_PAYLOAD, writer)
return
# TODO: сейчас это заглушка, а попозже нужно сделать полноценную реализацию
# Данные пакета
payload = {
"sync": int(time.time() * 1000),
"stickerSetsUpdates": {},
"stickersUpdates": {},
"sections": [],
"stickersOrder": []
}
# Собираем пакет
packet = self.proto.pack_packet(
cmd=self.proto.CMD_OK, seq=seq, opcode=self.opcodes.ASSETS_UPDATE, payload=payload
)
# Отправляем
await self._send(writer, packet)