You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在python-telegram-bot中设置默认显示的常规按钮?

实现python-telegram-bot按钮常驻输入框上方(两端兼容)

你需要替换原示例中的键盘类型,并调整参数配置,具体步骤如下:

  • 更换键盘组件:将原示例的InlineKeyboardMarkup替换为ReplyKeyboardMarkup,后者的按钮会固定显示在输入框上方,而非附着在消息下方。
  • 配置常驻参数:创建ReplyKeyboardMarkup时,设置resize_keyboard=True(适配手机/PC的不同界面尺寸),同时设置one_time_keyboard=False(禁止键盘自动收起,保持常驻显示)。

代码修改示例

原示例中创建内联按钮的代码大概是这样:

from telegram import InlineKeyboardButton, InlineKeyboardMarkup

keyboard = [
    [InlineKeyboardButton("选项A", callback_data='a')],
    [InlineKeyboardButton("选项B", callback_data='b')]
]
reply_markup = InlineKeyboardMarkup(keyboard)

修改为常驻输入框的键盘:

from telegram import ReplyKeyboardMarkup, KeyboardButton

# 定义按钮文本
keyboard = [
    [KeyboardButton("选项A")],
    [KeyboardButton("选项B")]
]
# 配置参数实现常驻显示
reply_markup = ReplyKeyboardMarkup(
    keyboard,
    resize_keyboard=True,
    one_time_keyboard=False
)

补充说明

  • 这种ReplyKeyboardMarkup按钮被点击后,会向机器人发送按钮上的文本内容,你需要通过MessageHandler监听这些文本消息来处理逻辑,而非原示例的CallbackQueryHandler。
  • 如果后续需要隐藏键盘,可以发送ReplyKeyboardRemove()作为回复标记。

内容的提问来源于stack exchange,提问作者runor runor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:32:37