From d8909ffe35e92f8f904573847b7476de52852bfe Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Wed, 27 Jun 2018 07:25:18 +0300 Subject: [PATCH] Allow to change states-group name by `__group_name__` --- aiogram/dispatcher/filters/state.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/aiogram/dispatcher/filters/state.py b/aiogram/dispatcher/filters/state.py index 52e431da..36b567b4 100644 --- a/aiogram/dispatcher/filters/state.py +++ b/aiogram/dispatcher/filters/state.py @@ -7,7 +7,10 @@ class State: def __set_name__(self, owner, name): if self.state is None: - self.state = owner.__name__ + ':' + name + group_name = getattr(owner, '__group_name__') + if group_name is None: + group_name = owner.__name__ + self.state = f"{group_name}:{name}" def __str__(self): return f"'" @@ -42,6 +45,8 @@ class MetaStatesGroup(type): class StatesGroup(metaclass=MetaStatesGroup): + __group_name__ = None + @classmethod async def next(cls) -> str: state = Dispatcher.current().current_state()