Как получить в коде значение, полученное от бота

Есть бот на aiogram, который получает от пользователя два значения - инн и банковские реквизиты. Я пытаюсь вытащить их, чтобы дальше использовать в своем коде, но при обращении к UserState получаю <State 'UserState:inn'>, а обрашение к data['inn'] не работает. Как мне можно получить эти значения? Вот код:

class UserState(StatesGroup):
inn = State()
number = State()


@dp.message_handler(commands=['start'])
async def user_register(message: types.Message):
    await message.answer("Введите ИНН")
    await UserState.inn.set()


@dp.message_handler(state=UserState.inn)
async def get_username(message: types.Message, state: FSMContext):
    await state.update_data(inn=message.text)
    await message.answer("Введите реквизиты")
    await UserState.next()


@dp.message_handler(state=UserState.number)
async def get_address(message: types.Message, state: FSMContext):
    await state.update_data(number=message.text)
    data = await state.get_data()
    await message.answer(f"ИНН: {data['inn']}\n"
                         f"Реквизиты: {data['number']}")

    await state.finish()

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

Автор решения: amidaslav
class UserState(StatesGroup):
inn = State()
number = State()


@dp.message_handler(commands=['start'])
async def user_register(message: types.Message):
    await message.answer("Введите ИНН")
    await UserState.inn.set()


@dp.message_handler(state=UserState.inn)
async def get_username(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        data['inn'] = message.text
    await message.answer("Введите реквизиты")
    await UserState.next()


@dp.message_handler(state=UserState.number)
async def get_address(message: types.Message, state: FSMContext):
    async with state.proxy() as data:
        inn = data['inn']
    await message.answer(f"ИНН: {inn}\n"
                         f"Реквизиты: {message.text}")

    await state.finish()
→ Ссылка