Как работать с двумя state в одной функции aiogram
Я пишу бота на aiogram, ошибка происходит со state, никак не могу понять
@dp.message_handler(Command("items"))
async def get_com(message: types.Message, state: FSMContext):
await Process_of_selling.number_of_fruit.set()
await state.set_state("pages")
async with state.proxy() as data:
current_page = 1
data['page'] = int(current_page)
await message.answer(text="Hi, click what you would like to order", reply_markup=f_keys(data['page']))
@dp.callback_query_handler(lambda x: x.data and x.data.startswith('f_'), state="pages")
async def select_fruit(call: types.CallbackQuery, state: FSMContext):
fruit_name = call.data.split('_')[1]
await call.answer(text=f"You chose {fruit_name}", show_alert=True)
await state.finish()
#ошибка происходит из-за нижней части
await state.set_state("number_of_kg")
async with state.proxy() as data: #хочу открывать словарь со state = 'number_of_kg'
data['fruit'] = fruit_name
data['kg'] = 0
print(await state.get_state())
await call.message.edit_text(text=f"Вы хотите заказать {data['fruit']}? Тогда выберите килограмы", reply_markup=menu(kg=data['kg']))
ошибка:
TypeError: Object of type InlineKeyboardButton is not JSON serializable
Можете пожалуйста подробно объяснить, где именно не так, я сам не спец, даже начинающий можно сказать