Telegram bot is not registering for next step handler after clicking inline button in aiogram 2.25.1
Бот не переходит в состояние SendMessage. С чем это может быть связано
async def AllSDEK(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data['Address'] = message.text
data['full_message'] = f"{data['first_message']}\nФИО: {data['FIO']}\nНомер телефона: {data['Number']}\nАдрес пвз: {data['Address']}"
await message.answer("Для оформления заказа вы можете сразу отправить сообщение менеджеру кнопкой Отправить\nИначе нажмите Далее")
await message.answer(f"{data['full_message']}", reply_markup=ikb.inlinekeyboard_send)
await state.set_state('SendMessage')
def AllSDEK_handler(dp: Dispatcher):
dp.register_message_handler(AllSDEK,state='AllSDEK')
async def SendMessage(callback_query: types.CallbackQuery, state: FSMContext):
async with state.proxy() as data:
await callback_query.answer(f"{data['full_message']}", reply_markup=ikb.inlinekeyboard_send)
data = callback_query.data
print("Попал в SendMessage")
if str(data) == 'cancel':
await callback_query.message.answer("Сделайте выбор", reply_markup=kb.keyboard_start)
await state.set_state('choice')
elif str(data) == 'send':
await callback_query.bot.send_message(ADMIN_ID, f"@{callback_query.from_user.username}\n"+data['full_message'])
await callback_query.message.answer("Заказ отправлен менеджеру",reply_markup=kb.keyboard_start)
await state.set_state('choice')
def SendMessage_handler(dp: Dispatcher):
dp.register_query_handler(SendMessage, state='SendMessage')
Вот клавиатура
inlinekeyboard_send = InlineKeyboardMarkup(row_width=2)
button_send = InlineKeyboardButton('Отправить', callback_data='send')
button_cancel = InlineKeyboardButton('Отмена', callback_data='cancel')
inlinekeyboard_send.add(button_send,button_cancel)
Вызов в main
AllSDEK_handler(dp)
SendMessage_handler(dp)