From 2d3b9285bfc6c102c9277aa2594c7c4b4467a3e1 Mon Sep 17 00:00:00 2001 From: Alexey Polyakov Date: Fri, 8 May 2026 15:24:49 +0300 Subject: [PATCH] =?UTF-8?q?MAX:=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=B8=D0=B7=D0=B1=D1=80=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=BD=D0=B5=20=D1=81=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BD=D0=B8=D0=B2=D0=B0=D0=B5=D0=BC=20=D0=B0=D0=B9=D0=B4=D0=B8?= =?UTF-8?q?=20=D1=81=20=D0=BD=D1=83=D0=BB=D1=91=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.py | 10 ++++++++-- src/oneme/processors/history.py | 2 +- src/oneme/processors/messages.py | 5 ++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main.py b/src/main.py index 6c7632b..448fc4a 100644 --- a/src/main.py +++ b/src/main.py @@ -4,6 +4,7 @@ import logging import signal import ssl import sys +import traceback from common.config import ServerConfig from common.push import PushService @@ -195,8 +196,13 @@ async def main(): # Запускаем контроллеры try: await asyncio.gather(*running_tasks) - except (asyncio.CancelledError, Exception): - logging.info("Все задачи завершены, выходим") + except asyncio.CancelledError: + logging.info("Все задачи завершены") + except Exception as e: + logging.error( + f"Произошла неизвестная ошибка: {e}" + ) + traceback.print_exc() finally: if hasattr(db, 'close'): db.close() diff --git a/src/oneme/processors/history.py b/src/oneme/processors/history.py index 970df29..d8de329 100644 --- a/src/oneme/processors/history.py +++ b/src/oneme/processors/history.py @@ -24,7 +24,7 @@ class HistoryProcessors(BaseProcessor): # Если пользователь хочет получить историю из избранного, # то выставляем в качестве ID чата его ID - if chatId == 0: + if chatId == (senderId ^ senderId): chatId = senderId # Проверяем, существует ли чат diff --git a/src/oneme/processors/messages.py b/src/oneme/processors/messages.py index 4a691f5..6c49b6d 100644 --- a/src/oneme/processors/messages.py +++ b/src/oneme/processors/messages.py @@ -89,8 +89,7 @@ class MessagesProcessors(BaseProcessor): # Если клиент хочет отправить сообщение в избранное, # то выставляем в качестве ID чата ID отправителя - # (А ещё используем это, если клиент вообще ничего не указал) - if chatId == 0 or not chatId: + if chatId == (senderId ^ senderId): chatId = senderId participants = [senderId] else: @@ -144,7 +143,7 @@ class MessagesProcessors(BaseProcessor): participant, { "eventType": "new_msg", - "chatId": 0 if chatId == senderId else chatId, + "chatId": 0 if chatId == (senderId ^ senderId) else chatId, "message": bodyMessage, "prevMessageId": lastMessageId, "time": messageTime,