как получить данные с callback_data в python-telegram-bot?

def funcforInline(update: Update, context: CallbackContext):
    IKeyboard = (InlineKeyboardButton('text', callback_data='text'),InlineKeyboardButton('Feedback', callback_data='feed'),
        InlineKeyboardButton('[General Menu]', callback_data='menu'))
    reply_markup = InlineKeyboardMarkup([IKeyboard])
    update.message.reply_text(text='Choose an option', reply_markup=reply_markup)

как получить данные callback_data с InlineKeyboardButton или же InlineKeyboardMarkup?

Дело заключается в том, что я хочу использовать данные полученные с InlineKeyboardButton для перенаправления в другую функцию с учетом выбранной кнопки


Ответы (1 шт):

Автор решения: D. Violet
`pyTelegramBotAPI`
# Inline keyboard 
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    if call.data == 'text':
       print('press button "text"')
    elif call.data == 'menu':
       print('"press button menu"')

python-telegram-bot

keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'),
             InlineKeyboardButton("Option 2", callback_data='2')],

          [InlineKeyboardButton("Option 3", callback_data='3')]]
reply_markup = InlineKeyboardMarkup(keyboard)

query = update.callback_query
query.edit_message_text(text="Selected option: {}".format(query.data))

We insert query.data into the string, which is the data we defined in the keyboard, so the number 1, 2 or 3

→ Ссылка