Привет! Подскажите пожалуйста, почему при нажатии на кнопку try_again_btn
Не отрабатывает колбек phone_number_auth? Может я что то напутал в состояниях? Вот код функции обрабатывающей кнопку:
@dp.message_handler(state=Form.phone_number)
async def post_phone_number_request(message: types.Message, state: FSMContext):
async with state.proxy() as data:
data[‘phone_number’] = message.text
r = bot.tg_auth_enter_phone_number(data[‘phone_number’])
if r.status_code == 200:
await message.reply(
f»На ваш номер +{data[‘phone_number’]} было выслано сообщение с авторизационным кодом. \nВведите код что бы продолжить.»)
text = f»Если в течении 10 секунд код не пришел - повторите попытку»
try_again_btn = InlineKeyboardButton(«Повторить попытку», callback_data=‘phone_number_auth’)
inline_kb_mk = InlineKeyboardMarkup(row_width=1, resize_keyboard=True).add(try_again_btn)
await
Form.next()
await bot.send_message(
message.chat.id, text, reply_markup=inline_kb_mk)
else:
text = f»Упс. Ошибка, попробуйте еще раз.»
try_again_btn = InlineKeyboardButton(«Повторить попытку», callback_data=‘phone_number_auth’)
inline_kb_mk = InlineKeyboardMarkup(row_width=1, resize_keyboard=True).add(try_again_btn)
await Form.phone_number.set()
await bot.send_message(
message.chat.id, text, reply_markup=inline_kb_mk)
Вот обработчик колбека:
@dp.callback_query_handler(lambda c:
c.data == 'phone_number_auth')
async def call_back_for_phone_number_button(callback_query: types.CallbackQuery):
await bot.answer_callback_query(callback_query.id)
await bot.send_message(callback_query.from_user.id, 'Введите номер телефона привяззаный к аккаунту: ')
await Form.phone_number.set()
return True
Заранее спасибо за внимание!