@SiezurE

Почему не выполняется команда?

После нажатия на кнопку, функция не выполняется дальше, никакой реакции не происходит.
Основной файл:

@dp.callback_query_handler(text_contains="check_")
async def check(callback: types.CallbackQuery):
    bill = str(callback.data[6:])
    info = db.get_check(bill)
    if info != False:
        if str(p2p.check(bill_id=bill).status) == "PAID":
            invite_link = client.create_chat_invite_link(config.chat_id, member_limit=1)
            bot.send_message(call.message.chat.id, invite_link.invite_link, db.delete_check)
        else:
            await bot.send_message(call.message.chat.id, 'Вы не оплатили счет!', reply_markup=nav.buy_menu(False, bill=bill))
    else:
        await bot.send_message(call.message.chat.id, 'Счет не найден!')

Файл с кнопками:

def buy_menu(isUrl=True, url="", bill=""):
    qiwiMenu = InlineKeyboardMarkup(row_width=1)
    if isUrl:
        btnUrlQIWI = InlineKeyboardButton(text='Ссылка на оплату', url=url)
        qiwiMenu.insert(btnUrlQIWI)

    btnCheckQIWI = InlineKeyboardButton(text='Оплатил', callback_data="check_" + bill)
    qiwiMenu.insert(btnCheckQIWI)
    return qiwiMenu

Все библиотеки импортированы, остальной код работает, но после нажатия на кнопку "Оплатил", не происходит абсолютно ничего.

Главная проблема в коде:
@dp.callback_query_handler(text_contains="check_", state='*')
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@Filipp_SC
PYTHON♥️
Пропишите через лямбду
@dp.callback_query_handler(lambda c: c.data == 'check_...')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы