From ecc34d9ae96f651feadb7118b185cb31f35b40b7 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Sat, 11 Nov 2017 12:30:41 +0200 Subject: [PATCH] Fix `contrib.fsm_storage.redis.Redis.update_data` --- aiogram/contrib/fsm_storage/redis.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/aiogram/contrib/fsm_storage/redis.py b/aiogram/contrib/fsm_storage/redis.py index f6fccdb0..9f54df5a 100644 --- a/aiogram/contrib/fsm_storage/redis.py +++ b/aiogram/contrib/fsm_storage/redis.py @@ -133,11 +133,10 @@ class RedisStorage(BaseStorage): async def update_data(self, *, chat: typing.Union[str, int, None] = None, user: typing.Union[str, int, None] = None, data: typing.Dict = None, **kwargs): - data = await self.get_data(chat=chat, user=user) - if data is None: - data = [] - data.update(data, **kwargs) - await self.set_data(chat=chat, user=user, data=data) + record = await self.get_record(chat=chat, user=user) + record_data = record.get('data', {}) + record_data.update(data, **kwargs) + await self.set_record(chat=chat, user=user, state=record['state'], data=record_data) async def get_states_list(self) -> typing.List[typing.Tuple[int]]: """