From 74b56259e675e917658b395850b5290403672cc3 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Mon, 25 Jun 2018 17:13:42 +0300 Subject: [PATCH] Small changes in FSM filter. --- aiogram/dispatcher/filters/builtin.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/aiogram/dispatcher/filters/builtin.py b/aiogram/dispatcher/filters/builtin.py index 495fbf5c..f78d2653 100644 --- a/aiogram/dispatcher/filters/builtin.py +++ b/aiogram/dispatcher/filters/builtin.py @@ -141,8 +141,7 @@ class StateFilter(BaseFilter): return {'state': Dispatcher.current().current_state()} try: - if self.ctx_state.get() in self.state: - return {'state': Dispatcher.current().current_state(), 'raw_state': self.state} + state = self.ctx_state.get() except LookupError: chat, user = self.get_target(obj) @@ -150,7 +149,11 @@ class StateFilter(BaseFilter): state = await self.dispatcher.storage.get_state(chat=chat, user=user) self.ctx_state.set(state) if state in self.state: - return {'state': Dispatcher.current().current_state(), 'raw_state': self.state} + return {'state': Dispatcher.current().current_state(), 'raw_state': state} + + else: + if state in self.state: + return {'state': Dispatcher.current().current_state(), 'raw_state': state} return False