@Land228

Как реализовать переход по Inline кнопкам с помощью call.data?

Обработчик кнопок "Выбрано кольцо" , "Выбрана цепочка " не работает
import config
import telebot
from telebot import types
bot = telebot.TeleBot(config.token)

@bot.callback_query_handler(func=lambda call:True)
def answer(call):
    if call.data=='yes':
        markup_inline = types.InlineKeyboardMarkup()
        item_ring = types.InlineKeyboardButton(text="Кольцо", callback_data='ring')
        item_chain = types.InlineKeyboardButton(text="Цепочка", callback_data="chain")
        markup_inline.add(item_ring, item_chain)
        bot.send_message(call.message.chat.id, "Какой вид украшения вы хотите заказать?", reply_markup=markup_inline)
    elif call.data=='no':
        bot.send_message(call.message.chat.id, 'До свидания!')
@bot.callback_query_handler(func=lambda call:True)
def step(call):
    if call.data=="ring":
        bot.send_message(call.message.chat.id, "Выбрано кольцо")
    elif call.data=="chain":
        bot.send_message(call.message.chat.id, "Выбрана цепочка")
if __name__ == '__main__':
    bot.polling()
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Filipp_SC
PYTHON♥️
@dp.callback_query_handler(lambda c: c.data == 'ring’)
def step(call):
…

Можно использовать bot.edit_message, чтобы бот изменял предидущее сообщение, но тогда по мимо chat_id, надо указать ещё message_id
if call.data соответсвенно делать не нужно
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы