@11zeroxxx11

Как сделать после ввода сообщения выполнение функции в aiogram?

У меня есть 2 похожих скрипта вот они:

Система ставок

@router.callback_query(F.data == 'sec10')
async def ten_second(call: types.CallbackQuery):
    await call.message.answer('Введите сумму для открытие сделки:')
    await script_ten_second()

@router.message()
async def script_ten_second(msg: types.Message):
    q = list(msg.text)
    time = 31
    super_style = int(''.join(map(str, q)))
    if super_style >= 100:
        for i in range(30):
            time -= 1
            await msg.answer(f"Вы открыли ставку!\n\n"
                             f"Время до завершения: {time}\n"
                             f"Цена: {str(script_price())}")
            sleep(1)


И система пополнение баланса:

async def callback_query(call: types.CallbackQuery):
    info = read_users(call.from_user.id)
    await call.message.answer('Введите сумму для пополнения баланса: \n\n'
                              'Минимальная сумма пополнения: 1000$\n'
                              f'Ваш баланс: {info[0]}')
    await up_bal()


@router.message()
async def up_bal(msg: types.Message):
    q = list(msg.text)
    super_style = int(''.join(map(str, q)))
    if super_style >= 1000:
        try:
            await msg.answer(f'Сумма пополнения: {super_style}\n\n'
                             f'<b>Выберете способ пополнения баланса: </b>\n',
                             reply_markup=buttons_up_balance, parse_mode='html')
        except:
            print("")
    else:
        await msg.answer('Вы ввели сумму меньше 1000$!')


Если я нажимаю на кнопку с пополнение баланса и вожжу туда сумму, то срабатывает функция script_ten_second, а со ставками всё нормально, как я понимаю потому что функция script_ten_second находится выше чем up_bal
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
У тебя две функции, которые заявляют "я могу обработать любое сообщение". aiogram использует первую из них, потому что как иначе он поймёт, когда какую использовать?
Почитай про Finite State Machine и как их использовать в aiogram.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект