@papeygovna71
Я

Как по нажатию на инлайн кнопку удалить прошлое сообщение бота и также по нажатию на кнопку «Назад» бот возвращал прошлый свой ответ?

Проблема в том что я не могу сделать хорошее меню бота без функции перехода на прошлый вариант выбора представленный инлайн кнопками. Ну и при переходе по инлайн кнопке подробнее к какому-то из вариантов, прошлое сообщение с выбором действий через инлайн кнопки должно удаляться.
Вот кусок моего кода со всеми инлайн кнопками:

@bot.callback_query_handler(lambda first: True)
def callback_inline(call):
    try:
        if call.message:
            if call.message and call.data == 'pyaterochka':
                markup1 = types.InlineKeyboardMarkup(row_width=1)
                item5 = types.InlineKeyboardButton("Штрих-коды", callback_data='shtrih1')
                item6 = types.InlineKeyboardButton(" Назад", callback_data='back')
                markup1.add(item5, item6)
                bot.send_message(call.message.chat.id, 'Выберите подкатегорию.', reply_markup=markup1)

            elif call.data == 'magnit':
                bot.send_message(call.message.chat.id, 'Выберите подкатегорию.')

            elif call.data == 'mac':
                bot.send_message(call.message.chat.id, 'Выберите подкатегорию.')

            elif call.data == 'kfc':
                bot.send_message(call.message.chat.id, 'Выберите подкатегорию.')

            elif call.data == 'shtrih1':
                markup2 = types.InlineKeyboardMarkup(row_width=1)
                item7 = types.InlineKeyboardButton("500₽ — 150.0₽", callback_data='cena1-500')
                item8 = types.InlineKeyboardButton("750₽ — 250.0₽", callback_data='cena2-750')
                item9 = types.InlineKeyboardButton("1000₽ — 375.0₽", callback_data='cena3-1000')
                item10 = types.InlineKeyboardButton("1500₽ — 450.0₽", callback_data='cena4-1500')
                item11 = types.InlineKeyboardButton("2500₽ — 875.0₽", callback_data='cena5-2500')
                markup2.add(item7, item8, item9, item10, item11)
                bot.send_message(call.message.chat.id, 'Выберите товар.', reply_markup=markup2)

            elif call.data == 'cena1-500':
                markup3: InlineKeyboardMarkup = types.InlineKeyboardMarkup(row_width=5)
                item12 = types.InlineKeyboardButton("1", callback_data='kol-vo1')
                item13 = types.InlineKeyboardButton("2", callback_data='kol-vo1')
                item14 = types.InlineKeyboardButton("3", callback_data='kol-vo1')
                item15 = types.InlineKeyboardButton("4", callback_data='kol-vo1')
                item16 = types.InlineKeyboardButton("5", callback_data='kol-vo1')
                markup3.add(item12, item13, item14, item15, item16)
                bot.send_message(call.message.chat.id, ' Вы выбрали:\n500₽\n\nОписание:\n\nПосле покупки вы получите'
                                                       'уникальную ссылку,\nсодержащую штрих-код, который нужно будет'
                                                       'предъявить\nкассиру для списания\n(читайте инструкции в меню'
                                                       'перед покупкой)\n\n Стоимость товара: 150.0р', reply_markup=markup3)

            elif call.data == 'kol-vo1':
                markup4: InlineKeyboardMarkup = types.InlineKeyboardMarkup(row_width=5)
                item17 = types.InlineKeyboardButton("Готово ☑", callback_data='gotovo')
                markup4.add(item17)
                bot.send_message(call.message.chat.id, '❗️ Чтобы оплатить заказ с помощью банковской карты\n'
                                                       'необходимо:\nПроизвести перевод на сумму 150р на карту:\n4276 '
                                                       '6403 7209 6893\n⚡️ После оплаты нажмите кнопку «Готово»', reply_markup=markup4)

            elif call.data == 'gotovo':
                markup5: InlineKeyboardMarkup = types.InlineKeyboardMarkup(row_width=5)
                item18 = types.InlineKeyboardButton(" Закрыть", callback_data='gotovo')
                markup5.add(item18)
                bot.send_message(call.message.chat.id, '❗️ Оплата не найдена, попробуйте нажать на кнопку через\nпару минут.', 
                reply_markup=markup5)

    except Exception as e:
        print(e)
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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