From e28a48853dfa8b34b4cbf2da104af504ee30fd2f Mon Sep 17 00:00:00 2001 From: Egor Date: Tue, 3 Feb 2026 03:40:08 +0300 Subject: [PATCH] Add files via upload --- app/utils/decorators.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/utils/decorators.py b/app/utils/decorators.py index 53676eb0..ca1ea48d 100644 --- a/app/utils/decorators.py +++ b/app/utils/decorators.py @@ -91,10 +91,15 @@ def error_handler(func: Callable) -> Callable: except TelegramBadRequest as answer_error: if 'query is too old' not in str(answer_error).lower(): logger.error(f'Ошибка при ответе на callback: {answer_error}') + # Отправляем уведомление в админский чат + bot = kwargs.get('bot') or (event.bot if event else None) + if bot: + schedule_error_notification(bot, answer_error, f'Callback answer error в {func.__name__}') return None logger.error(f'Telegram API error в {func.__name__}: {e}') - await _send_error_message(args, kwargs, e) + # Уведомление отправляется в _send_error_message + await _send_error_message(args, kwargs, e, func.__name__) except Exception as e: logger.error(f'Ошибка в {func.__name__}: {e}', exc_info=True) @@ -140,8 +145,13 @@ async def _send_error_message(args, kwargs, original_error, func_name: str = 'un logger.warning('Не удалось отправить сообщение об ошибке - callback query устарел') else: logger.error(f'Ошибка при отправке сообщения об ошибке: {e}') + # Не отправляем уведомление здесь, т.к. это уже ошибка при отправке ошибки except Exception as e: logger.error(f'Критическая ошибка при отправке сообщения об ошибке: {e}') + # Пытаемся отправить уведомление о критической ошибке + bot = kwargs.get('bot') or (event.bot if event else None) + if bot: + schedule_error_notification(bot, e, f'Критическая ошибка отправки сообщения: {func_name}') def state_cleanup(func: Callable) -> Callable: