Не понимаю почему не сохраняются данные в FSMContext

Я хотел хранить данные пользователя после его регистрации в боте, следовательно я сделал state.reset_state(with_data=True), после вызвал метод, в который передал состояние и там все данные сохранились, но стоит мне нажать какую-либо инлайн кнопку, то уже в методе с callback_data_query состояние опустошается.

Вопрос: могу ли я сохранить данные после регистрации навсегда и доставать их везде по установленном ключу?

@dp.message_handler(state=AuthStates.name, content_types=['text'])
async def process_auth(message: Message, state: FSMContext):
    async with state.proxy() as data:
        data['name'] = await message.text
    await state.reset_state(with_data=False)

    await preview_data(message, state)

await def preview_data(message, state): # в этой функции все данные, сохраненные в FSM, доступны
    info = await state.get_data()
    print(info.get('name')) # выведет текст, который отправлял пользователь
    await message.answer(
        'Проверь внимательно свои данные\n\nЕсли все верно, нажми на кнопку [Подтверждаю]',
        reply_markup=keyboards.ACCEPT_REG) # инлайн кнопка [Подтверждаю], при нажатии на которую отправляется callback_data = 'reg'

@dp.callback_query_handler(lambda call: True)
async def all_callbacks(call, state: FSMContext): # всё, здесь наш state обнуляется и никакие данные будто мы и не сохраняли
    if call.data == 'reg':
        info = await state.get_data()
        print(info.get('name')) # None

Ответы (1 шт):

Автор решения: oleksandrigo

Вы что-то странное делаете, у меня все работает. Возможно из-за вашего await message.text

@dp.message_handler()
async def process_auth(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['name'] = message.text
    await state.reset_state(with_data=False)

    await preview_data(message, state)


async def preview_data(message, state):
    info = await state.get_data()
    print(info.get('name'))
    await message.answer(
        'Проверь внимательно свои данные\n\nЕсли все верно, нажми на кнопку [Подтверждаю]',
        reply_markup=types.InlineKeyboardMarkup().add(types.InlineKeyboardButton("tet", callback_data='reg')))


@dp.callback_query_handler(lambda call: True)
async def all_callbacks(call: types.CallbackQuery, state: FSMContext):
    await call.answer()
    if call.data == 'reg':
        info = await state.get_data()
        print(info.get('name'))

введите сюда описание изображения

→ Ссылка