@SashaN69
Школота

Не выполняется код после нажатия на инлайн клавиатуру?

Если не использовать инлайн кнопок код работает ,а так нет в чём может быть проблема
inline_btn_1 = InlineKeyboardButton(text='Показать ещё', callback_data='button1')
inline_kb1 = InlineKeyboardMarkup(one_time_keyboard=True).add(inline_btn_1)
await bot.send_message(message.from_user.id,
                                       "...".format(await bot.get_me()),
                                       reply_markup=inline_kb1)


@dp.callback_query_handler(lambda c: c.data == 'button1')
async def process_callback_button1(callback_query: types.CallbackQuery):
    cat_id = db.categ_id(callback_query.from_user.id)
    l = []
    last_id = db.last_id(callback_query.from_user.id)
    for element in db.more_product(cat_id, last_id):
        l.append(element[0])
        await bot.send_message(callback_query.from_user.id, "<b>Ид товара:</b> <i>{3}</i>\n"
                                                            "<b>Название товара:</b> <i>{0}</i> \n"
                                                            "<b>Цена:</b> <i>{1}</i> \n"
                                                            "<b>Описание:</b> <i>{2}</i> ".format(element[3],
                                                                                                  str(str(element[4]) + " Евро"),
                                                                                                  element[6],
                                                                                                  element[0],
                                                                                                  await bot.get_me()),parse_mode='html')
    db.limits(callback_query.from_user.id, l[-1])
    keyboard_2 = await keyboards(l)
    await bot.send_message(callback_query.from_user.id,
                           "Выберете нужный id  или нажмите показать ещё".format(await bot.get_me()),
                           reply_markup=keyboard_2)
    await bot.send_message(callback_query.from_user.id, "Перейти на главную нажмите /menu")
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 2
jerwright
@jerwright
while True: coding()
Вы вызываете bot.send_message с аргументом message.from_user.id. Попробуйте использовать id, как в других командах (callback_query.from_user.id)
Ответ написан
@SashaN69 Автор вопроса
Школота
Нужно было добавить state='*'
@dp.callback_query_handler(lambda c: c.data == 'btn12', state='*')
async def process_callback_button1(callback_query: types.CallbackQuery):
    pass
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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