Обработка команд бота , который находится в состоянии

У бота есть функция - отправить отзыв на эл.почту.

При нажатии на команду , бот просит представиться и переходит в следующее состояние.

Можно ли сделать так, что бы когда бот заходил в состояние ожидания ввода пользователя, если пользователь вместо отзыва нажмет на любую другую команду этого бота - она выполнялась?

Сейчас если так сделать бот начнет дальше прыгать по состояниям

Фрагмент кода:

async def client_review_name(message: types.Message,state: FSMContext):
    """
    Обработчик состояния ожидания ввода имени пользователя
    :param message
    :return:
    """
    await bot.send_sticker(message.from_id,
                           sticker=f'CAACAgIAAxkBAAEHojNj4xivQ73UweVOot3yCtFqrnrpwAAC4CcAAiI40Erk1IekTR7UnS4E')
    await bot.send_message(message.from_id,text=' Как я могу к вам обращаться?')
    await Reviews.first()


@dp.message_handler(state=Reviews.name_for_thanks)
async def name_for_thanks(message: types.Message, state: FSMContext):
    """
    Обработчик состояния ожидания ввода текста благодарности
    :param message
    :return:
    """

    await state.update_data(username=message.text)
    data = await state.get_data()
    await message.answer(f"Приятно познакомиться, {data['username']} , напишите ваш отзыв, пожалуйста")
    await Reviews.next()


@dp.message_handler(state=Reviews.waiting_for_thanks)
async def waiting_state_for_client_thanks(message:types.Message,state: FSMContext):
    """
    Обработчик состояния отправки благодарности на эл.почту больницы
    :param message
    :return:
    """
    await state.update_data(thanks=message.text)
    msg = MIMEMultipart()
    data = await state.get_data()
    msg['From'] = client_kb.email_login
    msg['To'] = client_kb.email_login
    msg['subject'] = 'Благодарность'
    msg.attach(MIMEText(f"Благодарность от:{data['username']}\n"
                        f"Текст сообщения:\n{data['thanks']}", 'plain'))
    server = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
    server.ehlo(client_kb.email_login)
    server.login(client_kb.email_login, client_kb.email_password)
    server.auth_plain()
    send_res = server.send_message(msg)
    server.quit()
    if message.text != ' ':
       await state.finish()
       await message.answer("Спасибо , ваш отзыв отправлен !")
       await bot.send_sticker(message.from_id,sticker='CAACAgIAAxkBAAEHojNj4xivQ73UweVOot3yCtFqrnrpwAAC4CcAAiI40Erk1IekTR7UnS4E')
    else:
        await message.answer('Не похоже на отзыв')
        await state.finish()

Ответы (0 шт):