From 3e6e2f577c8b8636e92b1b2518d95348cb862a09 Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 2 Feb 2026 01:43:05 +0300 Subject: [PATCH] Update global_error.py --- app/middlewares/global_error.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/middlewares/global_error.py b/app/middlewares/global_error.py index d25ea545..847a462a 100644 --- a/app/middlewares/global_error.py +++ b/app/middlewares/global_error.py @@ -33,7 +33,7 @@ class GlobalErrorMiddleware(BaseMiddleware): try: return await handler(event, data) except TelegramBadRequest as e: - return await self._handle_telegram_error(event, e) + return await self._handle_telegram_error(event, e, data) except Exception as e: logger.error('Неожиданная ошибка в GlobalErrorMiddleware: %s', e, exc_info=True) # Отправляем уведомление об ошибке в админский чат @@ -43,7 +43,7 @@ class GlobalErrorMiddleware(BaseMiddleware): schedule_error_notification(bot, e, f'Пользователь: {user_info}') raise - async def _handle_telegram_error(self, event: TelegramObject, error: TelegramBadRequest): + async def _handle_telegram_error(self, event: TelegramObject, error: TelegramBadRequest, data: dict[str, Any]): error_message = str(error).lower() if self._is_old_query_error(error_message): @@ -56,7 +56,13 @@ class GlobalErrorMiddleware(BaseMiddleware): return None if self._is_bad_request_error(error_message): return await self._handle_bad_request(event, error) + + # Неизвестная ошибка — логируем и отправляем уведомление logger.error('Неизвестная Telegram API ошибка: %s', error) + bot = data.get('bot') + if bot: + user_info = self._get_user_info(event) + schedule_error_notification(bot, error, f'Пользователь: {user_info}') raise error def _is_old_query_error(self, error_message: str) -> bool: