From 2de438426a647e2bcae9b4d99eef4093ff8b5429 Mon Sep 17 00:00:00 2001 From: Fringg Date: Thu, 12 Feb 2026 18:43:16 +0300 Subject: [PATCH] fix: suppress expired callback query error in AuthMiddleware Catch TelegramBadRequest with "query is too old" before generic Exception handler to prevent it from being logged as error and triggering error reports. --- app/middlewares/auth.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/middlewares/auth.py b/app/middlewares/auth.py index 1a102f8f..603eb302 100644 --- a/app/middlewares/auth.py +++ b/app/middlewares/auth.py @@ -5,7 +5,7 @@ from datetime import datetime from typing import Any from aiogram import BaseMiddleware -from aiogram.exceptions import TelegramForbiddenError +from aiogram.exceptions import TelegramBadRequest, TelegramForbiddenError from aiogram.fsm.context import FSMContext from aiogram.types import CallbackQuery, Message, TelegramObject, User as TgUser from sqlalchemy.exc import InterfaceError, OperationalError @@ -224,6 +224,11 @@ class AuthMiddleware(BaseMiddleware): # User blocked the bot — normal, not an error logger.debug('AuthMiddleware: bot blocked by user, skipping') return None + except TelegramBadRequest as e: + if 'query is too old' in str(e): + logger.debug('AuthMiddleware: callback query expired, skipping') + return None + raise except Exception as e: logger.error(f'Ошибка в AuthMiddleware: {e}') logger.error(f'Event type: {type(event)}')