From b0792a59053510c08bea5eadec52aaca376ed792 Mon Sep 17 00:00:00 2001 From: mpa Date: Sun, 16 Aug 2020 16:54:44 +0400 Subject: [PATCH] fix(current_state): chat or user may be None --- aiogram/dispatcher/dispatcher.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/aiogram/dispatcher/dispatcher.py b/aiogram/dispatcher/dispatcher.py index e7f2109c..6961c231 100644 --- a/aiogram/dispatcher/dispatcher.py +++ b/aiogram/dispatcher/dispatcher.py @@ -4,7 +4,7 @@ import asyncio import contextvars import warnings from asyncio import CancelledError, Future, Lock -from typing import Any, AsyncGenerator, Dict, Generic, Optional, Union +from typing import Any, AsyncGenerator, Dict, Generic, Optional, Union, cast from .. import loggers from ..api.client.bot import Bot @@ -42,10 +42,13 @@ class Dispatcher(Router, Generic[StorageDataT]): if self.storage is None: self.storage: DummyStorage = DummyStorage() # type: ignore + chat = cast(Optional[Chat], Chat.get_current()) + user = cast(Optional[User], User.get_current()) + return CurrentUserContext( storage=self.storage, - chat_id=Chat.get_current().id, # type: ignore - user_id=User.get_current().id, # type: ignore + chat_id=chat.id if chat else None, + user_id=user.id if user else None, ) @property