как получить данные с 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