Size: a a a

2020 April 21

P#

PyCodeCat # from meo... in aiogram [ru]
Норм же?
источник

s

std::mpa in aiogram [ru]
кек. поверхностно — да
источник

s

std::mpa in aiogram [ru]
PyCodeCat # from meow import *
cp = data.as_dict()
cp['new_data'].append(d.id)
await state.update_data(cp)

Сделаю так, чтобы исходный объект не изменился

UPD. есть data.as_dict(), который возвращает deepcopy данных в виде словаря
так делай s.update_data(new_data=new_list)
источник

P#

PyCodeCat # from meo... in aiogram [ru]
std::mpa
так делай s.update_data(new_data=new_list)
Оно остальное почистит

if data is None:
   data = {}
temp_data = await self.get_data(chat=chat, user=user, default={})
temp_data.update(data, **kwargs)
await self.set_data(chat=chat, user=user, data=temp_data)
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Ща вообще ничего не понял
источник

P#

PyCodeCat # from meo... in aiogram [ru]
(сек, subsribe подвезу обратно)
источник

G

Gabben in aiogram [ru]
PyCodeCat # from meow import *
У вас где-то проблемы с реализацией
Ну вот сразу так критично
источник

P#

PyCodeCat # from meo... in aiogram [ru]
b'{"id": 1, "new_data": [23, 27, 28, 29, 31, 34, 36, 37]}'
b'{"id": 1, "new_data": [23, 27, 28, 29, 31, 34, 36, 39]}'
b'{"id": 1, "new_data": [23, 27, 28, 29, 31, 34, 36, 38]}'
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Пора бы уже дату очистить, а то списочек-то растёт
источник

P#

PyCodeCat # from meo... in aiogram [ru]
:))

b'{"id": 1, "new_data": []}'
b'{"id": 1, "new_data": [40]}'
b'{"id": 1, "new_data": [41]}'
b'{"id": 1, "new_data": [41]}'
источник

s

std::mpa in aiogram [ru]
PyCodeCat # from meow import *
Оно остальное почистит

if data is None:
   data = {}
temp_data = await self.get_data(chat=chat, user=user, default={})
temp_data.update(data, **kwargs)
await self.set_data(chat=chat, user=user, data=temp_data)
у тебя state это FSMContext верно?
источник

P#

PyCodeCat # from meo... in aiogram [ru]
std::mpa
у тебя state это FSMContext верно?
+
источник

P#

PyCodeCat # from meo... in aiogram [ru]
PyCodeCat # from meow import *
Судя по всему, ты хочешь понять, что не так и тебе нужно немного подробнее

Так вот, есть хендлер вроде такого:
@dp.message_handler(content_types=[ContentType.ALL], state=MyState.state)

async def record_msgs(m: Message, s: FSMContext):
   async with state.proxy() as data:
       item_id = data['id']
       id_: int = await put_into_db(m, item_id)  # не важно что оно делает
       data['new_data'].append(id_)
       return


И как только я пересылаю сообщения (т.е. отправляю их очень быстро), оно сохраняет так, как я показал выше.
Вот так примерно выглядит хендлер
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Я просто выкинул лишние детали и if'ы, во время тестирования иду пока только по одной из веток, чтобы честно было
источник

G

Gabben in aiogram [ru]
PyCodeCat # from meow import *
Оно остальное почистит

if data is None:
   data = {}
temp_data = await self.get_data(chat=chat, user=user, default={})
temp_data.update(data, **kwargs)
await self.set_data(chat=chat, user=user, data=temp_data)
Не почистит
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Gabben
Не почистит
Хм..
источник

P#

PyCodeCat # from meo... in aiogram [ru]
list.copy() существует?
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Ладно, возьмём дедовский способ
data['new_data'][:]
источник

s

std::mpa in aiogram [ru]
PyCodeCat # from meow import *
list.copy() существует?
источник

P#

PyCodeCat # from meo... in aiogram [ru]
))
источник