mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Fix I18n context for error handlers
This commit is contained in:
parent
c3cdd75ede
commit
8c4d4ef30a
2 changed files with 6 additions and 10 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue