diff --git a/aiogram/dispatcher/middlewares/error.py b/aiogram/dispatcher/middlewares/error.py index 4a026575..b33de5f9 100644 --- a/aiogram/dispatcher/middlewares/error.py +++ b/aiogram/dispatcher/middlewares/error.py @@ -25,9 +25,9 @@ class ErrorsMiddleware(BaseMiddleware): except (SkipHandler, CancelHandler): # pragma: no cover raise except Exception as e: - for router in self.router.chain: - observer = router.observers["error"] - response = await observer.trigger(event, exception=e, **data) - if response is not UNHANDLED: - return response + response = await self.router.propagate_event( + update_type="error", event=event, **data, exception=e + ) + if response is not UNHANDLED: + return response raise diff --git a/aiogram/utils/i18n/middleware.py b/aiogram/utils/i18n/middleware.py index 91250fde..2f6a73c2 100644 --- a/aiogram/utils/i18n/middleware.py +++ b/aiogram/utils/i18n/middleware.py @@ -1,4 +1,3 @@ -import logging from abc import ABC, abstractmethod from typing import Any, Awaitable, Callable, Dict, Optional, Set, cast @@ -12,8 +11,6 @@ from aiogram.dispatcher.fsm.context import FSMContext from aiogram.types import TelegramObject, User from aiogram.utils.i18n.core import I18n -logger = logging.getLogger(__name__) - class I18nMiddleware(BaseMiddleware, ABC): """ @@ -49,7 +46,7 @@ class I18nMiddleware(BaseMiddleware, ABC): """ if exclude is None: exclude = set() - exclude_events = {"update", "error", *exclude} + exclude_events = {"update", *exclude} for event_name, observer in router.observers.items(): if event_name in exclude_events: continue @@ -63,7 +60,6 @@ class I18nMiddleware(BaseMiddleware, ABC): data: Dict[str, Any], ) -> Any: current_locale = await self.get_locale(event=event, data=data) or self.i18n.default_locale - logger.debug("Detected locale %r", current_locale) if self.i18n_key: data[self.i18n_key] = self.i18n