diff --git a/readme.md b/readme.md index a98d6ce..5165f10 100644 --- a/readme.md +++ b/readme.md @@ -22,6 +22,8 @@ https://t.me/openmax_alerts Клиент может быть практически любым, главное условие - чтобы он был совместим с официальным сервером (`api.oneme.ru` / `api.tamtam.chat`). +На данный момент с сервером может работать последняя версия MAX (26.7.1), однако все тесты проходят на версии 26.5.0. + # Установка 1. Склонируйте репозиторий diff --git a/src/common/tools.py b/src/common/tools.py index 5a04102..70843c4 100644 --- a/src/common/tools.py +++ b/src/common/tools.py @@ -102,20 +102,14 @@ class Tools: # Выносим результат в лист chats.append( - { - "id": row.get("id"), - "type": row.get("type"), - "status": "ACTIVE", - "owner": row.get("owner"), - "participants": participants, - "lastMessage": message, - "lastEventTime": messageTime, - "lastDelayedUpdateTime": 0, - "lastFireDelayedErrorTime": 0, - "created": 1, - "joinTime": 1, - "modified": messageTime - } + self.generate_chat( + row.get("id"), + row.get("owner"), + row.get("type"), + participants, + message, + messageTime + ) ) # Получаем последнее сообщение из избранного @@ -123,24 +117,19 @@ class Tools: senderId, db_pool ) + # ID избранного + chatId = senderId ^ senderId + # Хардкодим в лист чатов избранное chats.append( - { - "id": 0, - "type": "DIALOG", - "status": "ACTIVE", - "owner": senderId, - "participants": { - str(senderId): 0 # if not messageTime else messageTime - }, - "lastMessage": message, - "lastEventTime": messageTime, - "lastDelayedUpdateTime": 0, - "lastFireDelayedErrorTime": 0, - "created": 1, - "joinTime": 1, - "modified": messageTime - } + self.generate_chat( + chatId, + senderId, + "DIALOG", + [senderId], + message, + messageTime + ) ) return chats @@ -185,9 +174,11 @@ class Tools: "time": int(row.get("time")), "type": row.get("type"), "sender": row.get("sender"), + "cid": int(row.get("cid")), "text": row.get("text"), "attaches": json.loads(row.get("attaches")), - # "reactionInfo": {} + "elements": json.loads(row.get("elements")), + "reactionInfo": {} } # Возвращаем diff --git a/src/oneme_tcp/processors.py b/src/oneme_tcp/processors.py index e3f0a4f..199c3ea 100644 --- a/src/oneme_tcp/processors.py +++ b/src/oneme_tcp/processors.py @@ -445,7 +445,7 @@ class Processors: chatId = userId ^ senderId # Если клиент хочет отправить сообщение в избранное, - # то выставляем ID чата 0 + # то выставляем в качестве ID чата ID отправителя # (А ещё используем это, если клиент вообще ничего не указал) if chatId == 0 or not chatId: chatId = senderId @@ -491,7 +491,8 @@ class Processors: "sender": senderId, "cid": cid, "text": text, - "attaches": attaches + "attaches": attaches, + "elements": elements } # Отправляем событие всем участникам чата @@ -700,6 +701,9 @@ class Processors: senderId, self.db_pool ) + # ID избранного + chatId = senderId ^ senderId + # Добавляем чат в список chats.append( self.tools.generate_chat(