diff --git a/aiogram/contrib/fsm_storage/memory.py b/aiogram/contrib/fsm_storage/memory.py index 8950aa8e..a5686a34 100644 --- a/aiogram/contrib/fsm_storage/memory.py +++ b/aiogram/contrib/fsm_storage/memory.py @@ -105,6 +105,7 @@ class MemoryStorage(BaseStorage): self.data[chat][user]['bucket'].update(bucket, **kwargs) def _cleanup(self, chat, user): + chat, user = self.resolve_address(chat=chat, user=user) if self.data[chat][user] == {'state': None, 'data': {}, 'bucket': {}}: del self.data[chat][user] if not self.data[chat]: diff --git a/aiogram/contrib/middlewares/i18n.py b/aiogram/contrib/middlewares/i18n.py index 651b77de..1c50a603 100644 --- a/aiogram/contrib/middlewares/i18n.py +++ b/aiogram/contrib/middlewares/i18n.py @@ -132,11 +132,11 @@ class I18nMiddleware(BaseMiddleware): user: Optional[types.User] = types.User.get_current() locale: Optional[Locale] = user.locale if user else None - if locale: + if locale and locale.language in self.locales: *_, data = args language = data['locale'] = locale.language return language - return None + return self.default async def trigger(self, action, args): """