@denskkk

Может кто поймет,как это решить?

помогите может кто поймёт, нажимаю на кнопку отправить номер,а await message.reply("Ваша заявка принята и вскоре будет рассмотрена ✅", reply_markup=kb.menu_markup) не выводится
Из результата третьего вопроса не выводится получение номера и формировка заявки

<code lang="python">
# Результат третьего общего вопроса
@dp.message_handler(state=Btns.Q3) 
async def third_question(message: types.Message, state: FSMContext):
    global area
    area = message.text
    await message.answer("Ваш ответ: "+area)
    await message.answer("Предоставьте пожалуйста ваш номер телефона, менеджер свяжется с вами на счет заявки", reply_markup=kb.markup_request)
    await state.finish()
    await Btns.Q4.set()

# Получение номера и формировка заявки
@dp.message_handler(state=Btns.Q4)
async def fourth_question(message: types.Message, state: FSMContext):
    global phone_num
    not message.contact is None
    phone_num = message.contact.phone_number
    await message.answer("Ваша заявка принята и вскоре будет рассмотрена ✅", reply_markup=kb.menu_markup)
    array = {'values': [[request_id, message.from_user.first_name, phone_num, appart_info, number_of_rooms, money, area, info]]}
    range_ = A1Range.create_a1range_from_list(
            'Лист1', 2, 1, array['values']).format()
    response = service.update(spreadsheetId=SAMPLE_SPREADSHEET_ID,
                                  range=range_,
                                  valueInputOption='RAW',
                                  body=array).execute()
    await message.answer("Вы отправили неккоректный номер телефона, попробуйте еще раз", reply_markup=kb.markup_request)
    await state.finish()
    await Btns.Q4.set()


# RUN
if __name__ == '__main__':
    executor.start_polling(dp)

</code>
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Не работаю с aiogram, но скорее всего проблема в том, что отдали команду на окончание работы FSM.
Замените
await state.finish()
await Btns.Q4.set()

На
await Btns.next()

И не используйте глобальные переменные, есть специальное хранилище
https://docs.aiogram.dev/en/latest/examples/finite...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы