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

如何在Telegram bot中创建三条横线菜单?该类菜单叫什么?

菜单正式名称

你提到的三条横线触发的Telegram Bot菜单,官方标准名称为 Bot命令菜单(Bot Command Menu),属于Telegram客户端原生支持的能力,无需自定义开发UI,菜单样式由Telegram统一渲染。

实现方法

方法1:通过@BotFather静态配置(无需代码,适合固定菜单)

这是最常用的配置方式,操作步骤如下:

  • 在Telegram中搜索并打开@BotFather的对话窗口
  • 发送 /setcommands 指令
  • 按提示选择你需要配置菜单的目标Bot
  • 按照 命令名 - 命令说明 的格式逐行发送你的菜单内容,示例如下:
start - 启动机器人,查看欢迎信息
search - 搜索岗位信息
subscribe - 订阅岗位推送
my - 查看我的收藏和投递记录
help - 查看使用指南
  • 收到BotFather的配置成功提示后,重新进入与你的Bot的对话页面,即可看到左上角的三条横线菜单按钮,点击对应菜单项会自动向Bot发送对应指令。

方法2:调用API动态配置(适合需要自定义菜单的场景)

如果你需要针对不同用户、不同场景展示不同菜单,可以调用Telegram Bot API的 setMyCommands 接口实现动态配置。

核心参数说明

  • commands:命令数组,每个元素包含两个字段:
    • command:命令名称,仅支持小写英文、数字、下划线,不能包含特殊字符或中文
    • description:命令说明,最大长度32字符
  • scope(可选):指定命令生效范围,支持全局生效、指定群组/私聊生效、指定单个用户生效
  • language_code(可选):针对不同语言的用户展示不同语言版本的菜单

代码示例(Python python-telegram-bot 库)

from telegram import BotCommand, BotCommandScopeChat
from telegram.ext import Updater

# 初始化Bot
updater = Updater(token="你的Bot Token")

# 配置全局通用菜单
global_commands = [
    BotCommand("start", "启动机器人"),
    BotCommand("search", "搜索岗位"),
    BotCommand("help", "使用帮助")
]
updater.bot.set_my_commands(global_commands)

# 给指定用户配置专属菜单(示例用户ID:12345678)
user_commands = [
    BotCommand("start", "启动机器人"),
    BotCommand("search", "搜索岗位"),
    BotCommand("subscribe", "订阅推送"),
    BotCommand("my", "我的主页"),
    BotCommand("help", "使用帮助")
]
updater.bot.set_my_commands(
    commands=user_commands,
    scope=BotCommandScopeChat(chat_id=12345678)
)

updater.start_polling()
注意事项
  • 配置完成后如果菜单没有立刻刷新,可以杀掉Telegram后台重启应用,或者退出Bot对话页面重新进入即可生效
  • 动态配置的专属菜单优先级高于全局配置的通用菜单
  • 命令说明超出32字符的部分会被Telegram客户端自动截断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:39:02