Есть бот для создания объявлений о продаже машины. Человек заполняет основыне данные и бот спрашивает его -- верно ли введены данные (и две инлайн кнопки)
При их нажатии ничего не происходит, хотя хендлеры расставлены верно (наверное)
Код, сокращенно в некоторых местах
@dp.callback_query_handler()
async def check_inline(query: types.CallbackQuery, state: FSMContext):
if (query.data == "add_adv"):
await state.reset_state()
await FSM_adv.main_photo.set()
await bot.send_message(chat_id=query.message.chat.id,
text="Отправьте фотографии машины (по одной)")
elif (query.data == "contact"):
await FSM_adv.phone.set()
await bot.send_message(chat_id=query.message.chat.id,
text="Отправьте фотографии машины (по одной)")
## FSM HANDLERS ##
@dp.message_handler(state=FSM_adv.main_photo, content_types=["photo"])
async def addres(message: types.Message, state: FSMContext):
list_photo = [max(message.photo, key=lambda x: x.height)]
async with state.proxy() as forme:
forme["photo"] = list_photo
await FSM_adv.photo.set()
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
keyboard.add("Это все, сохранить фото")
await bot.send_message(chat_id=message.chat.id,
text="Добавьте еще фото если нужно",
reply_markup=keyboard)
<сокращено>
@dp.message_handler(state=FSM_adv.vin)
async def marka(message: types.Message, state: FSMContext):
async with state.proxy() as forme:
forme["vin"] = message.text
await FSM_adv.strana.set()
await bot.send_message(chat_id=message.chat.id,
text = "Отправьте страну вашего авто")
@dp.message_handler(state=FSM_adv.strana)
async def marka(message: types.Message, state: FSMContext):
async with state.proxy() as forme:
forme["strana"] = message.text
data_list = await state.get_data()
photo_list = []
media = types.MediaGroup()
<сокращено>
keyboard = types.InlineKeyboardMarkup()
but1 = types.InlineKeyboardButton(text="Заполнить контакты", callback_data="contact")
but2 = types.InlineKeyboardButton(text="Начать сначала", callback_data="add_adv")
keyboard.add(but1)
keyboard.add(but2)
await bot.send_message(chat_id=message.chat.id,
text="<b> Предпросмотр объявления</b>\n\n"
"Если все устравивает, то можете заполнять контакты",
reply_markup=keyboard)
Наверное нужны другие хендлеры для FSM?