Python 3.x InLineKeyboard按钮和回调数据

Python 3.x InLineKeyboard按钮和回调数据,python-3.x,python-telegram-bot,Python 3.x,Python Telegram Bot,我想问一下InlineKeyboardMarkup是如何在用户使用callback\u data单击InlineKeyboardButton按钮时捕捉事件的,以及如何调用和处理它 下面是我代码的一部分 from telegram import InlineKeyboardMarkup, InlineKeyboardButton from telegram.ext import Updater, CommandHandler API = "1234567890:API_E

我想问一下
InlineKeyboardMarkup
是如何在用户使用
callback\u data
单击
InlineKeyboardButton
按钮时捕捉事件的,以及如何调用和处理它

下面是我代码的一部分

from telegram import InlineKeyboardMarkup, InlineKeyboardButton
from telegram.ext import Updater, CommandHandler

API        = "1234567890:API_Example"
Bot        = Updater(API, use_context = True)
Dispatcher = Bot.dispatcher

def start_command(update, context):
  RM       = InlineKeyboardMarkup(
    [[InlineKeyboardButton(
      text = "example button text",
      callback_data = "example data")
    ]])
  message  = "example message"
  context.bot.send_message(update.effective_chat.id, message,reply_markup = RM)

Dispatcher.add_handler(CommandHandler("start", start_command))
Bot.start_polling()

您需要向Dispatcher添加
CallbackQueryHandler
,如下所示:

CallbackQueryHandler(handler_yes_no,pattern=r'^(yes | no)$),
完整示例:

从电报导入InlineKeyboardMarkup,InlineKeyboardButton
从telegram.ext导入更新程序,CommandHandler
API=“1234567890:API_示例”
Bot=Updater(API,使用上下文=True)
Dispatcher=Bot.Dispatcher
def start_命令(更新,上下文):
RM=InlineKeyboardMarkup([
[InlineKeyboardButton(text=“Yes”,callback_data=“Yes”)],
[InlineKeyboardButton(text=“No”,callback_data=“No”)],
])
message=“你确定吗?”
context.bot.send_message(update.effective_chat.id,message,reply_markup=RM)
def处理程序\是\否(更新,上下文):
callback\u data=update.callback\u query.data
update.callback\u query.answer()
打印(回拨数据)
Dispatcher.add_处理程序(CommandHandler(“start”,start_命令))
add_handler(CallbackQueryHandler(handler_yes_no,pattern=r'^(yes | no)$),)
Bot.start_polling()
注意:不要忘记PEP8代码风格指南:)