Fix FSM
This commit is contained in:
@@ -16,9 +16,23 @@ class MemoryStorageRecord:
|
|||||||
state: Optional[str] = None
|
state: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
class StorageDict(DefaultDict):
|
||||||
|
def __init__(self, default_factory=None, **kwargs) -> None:
|
||||||
|
if type(db.fsm.get('fsm')) is not dict:
|
||||||
|
db.fsm['fsm'] = dict()
|
||||||
|
|
||||||
|
super().__init__(default_factory, db.fsm['fsm'])
|
||||||
|
|
||||||
|
def __setitem__(self, key, value):
|
||||||
|
super().__setitem__(key, value)
|
||||||
|
db.fsm['fsm'] = dict(self)
|
||||||
|
|
||||||
|
|
||||||
class InDbStorage(BaseStorage):
|
class InDbStorage(BaseStorage):
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self.storage: DefaultDict[StorageKey, MemoryStorageRecord] = db.fsm
|
self.storage: StorageDict[StorageKey, MemoryStorageRecord] = StorageDict(
|
||||||
|
MemoryStorageRecord
|
||||||
|
)
|
||||||
|
|
||||||
async def close(self) -> None:
|
async def close(self) -> None:
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user