返回博客

Telegram 机器人命令菜单怎么设计:范围、语言与权限

把私聊、群组、管理员和不同语言的命令菜单写成清晰需求,并避免把菜单可见性误当成后端授权。

发布于 2026年10月10日

命令菜单不仅是一份帮助列表。它决定用户输入 / 时先看到什么,也会影响他们是否把管理员功能、群组功能和私聊功能混在一起。设计机器人需求时,应分别写清命令的显示范围、语言版本和真实授权规则。

先列任务,再命名命令

先写用户想完成的动作,再把每个高频动作映射成一个具体命令。例如社群活动机器人可以有:

  • /join:报名当前活动;
  • /my_status:查看自己的报名状态;
  • /rules:查看规则;
  • /close_signup:管理员关闭报名;
  • /export:管理员导出结果。

命令应尽量具体。与其使用 /new 再要求用户补充“要新建什么”,不如使用 /new_event 或 /new_rule。说明文字也应描述结果,而不是重复命令名。

用范围控制菜单噪声

Telegram 支持按 scope 设置命令列表。常见设计可以分成四层:

| 使用位置 | 适合显示的命令 | 仍需后端检查 | | --- | --- | --- | | 默认 | /start、/help | 输入是否合法 | | 所有私聊 | /my_status、/settings | 当前用户的数据归属 | | 所有群组 | /rules、/join | 群组状态与成员资格 | | 群管理员 | /close_signup、/export | 发起者此刻是否仍是管理员 |

Telegram 的命令文档说明,机器人所有者可以通过官方 BotFather 设置命令,机器人也能调用接口修改自己的列表。不同 scope 和语言可以拥有不同菜单。

范围解决的是“给谁显示”,不是“谁有权限执行”。Telegram 的更新不会附带“这个命令来自哪个菜单范围”的证明,用户甚至可以手动输入一个菜单里不存在的命令。因此,收到 /export 时仍要重新检查聊天类型、用户身份和管理员状态。

多语言菜单要保持同一行为

命令本身通常保持稳定,把说明翻译成用户语言更容易维护。例如中文显示“/join 报名活动”,英文显示“/join Join the event”。Telegram 的 setBotCommands 接口接受 scope 和 language_code;未匹配专用语言时,应准备一个默认列表。

不要只翻译菜单而遗漏机器人正文。至少检查:

  • /help 的语言是否与命令说明一致;
  • 错误、空状态和成功提示是否有对应语言;
  • 用户切换 Telegram 语言后,旧数据和命令行为是否保持不变;
  • 没有专用翻译时,是否能回退到可理解的默认语言。

把菜单需求写成可生成的规格

下面是一份可以修改的需求片段:

这是群组活动报名机器人。默认菜单只显示 /start 和 /help;私聊显示 /my_status 和 /settings;群组显示 /join、/leave 和 /rules;群管理员额外看到 /close_signup 和 /export。提供中文和英文命令说明,命令名称保持英文且两种语言一致。任何人都可能手动输入管理员命令,所以执行前必须重新检查当前聊天中的管理员身份。无权限时只返回简短说明,不泄露报名数据。未知命令显示当前聊天可用的帮助。第一版不需要自然语言意图识别或运行时 AI。

这段需求把菜单显示、命令行为、权限和语言分开,生成后更容易逐项验收。

用四个账号场景验收

发布后至少检查:

  1. 普通用户在私聊输入 /,只看到私聊与默认命令。
  2. 普通群成员看不到管理员菜单;手动输入 /export 也被拒绝。
  3. 群管理员能看到并执行管理员命令;取消管理员身份后立即失去权限。
  4. 中文和英文客户端看到相同命令集合及对应说明,未知语言回退到默认菜单。

再检查带参数、大小写、机器人用户名后缀以及旧消息里的命令链接。菜单配置正确,不代表命令解析和授权一定正确。

与 BotFatherV2 的关系

BotFatherV2支持通过 AI 对话创建和修改 Telegram Serverless 机器人;它与 Telegram 官方 BotFather 没有隶属关系。公开内测文档把菜单列为首版适用场景,但固定 SDK 范围并不等于支持 Telegram 的每个最新接口。生成前应把 scope、语言和授权写进需求,生成后再查看校验报告并在 Telegram 实测。

AI 辅助开发不会自动赋予机器人运行时 AI Agent 能力。命令菜单和权限检查是确定性工作流,即使完全不调用模型,也能为用户提供清晰、安全的操作入口。

来源与核验日期

  • Telegram,《Bot commands》,英文官方技术文档,页面未标注发布日期;2026 年 10 月 10 日核验。
  • Telegram,bots.setBotCommands,英文官方接口文档,页面未标注发布日期;2026 年 10 月 10 日核验。

相关文章

继续阅读具有相同产品标签的内容。

导入 Telegram Serverless 机器人:迁移前后的检查清单

确认机器人是否可导入、保存云端基线、盘点模块与外部服务,并在修改前后检查版本、数据和真实 Telegram 行为。

Telegram 投票机器人怎么写需求:改票、加选项与结果规则

根据 Telegram Bot API 2026 年投票能力,把多选、改票、成员限制、动态选项、关闭时间和结果可见性写成可验收的机器人需求。

Telegram 机器人回滚:为什么恢复旧代码不等于恢复旧数据

区分机器人代码版本、数据库结构和业务记录,用待办案例理解保留数据回滚的边界,并检查兼容性、云端冲突和回滚后的真实行为。

用 AI 创建 Telegram 机器人:先写需求,再写验收条件

用个人待办机器人案例,把自然语言想法整理成命令、数据归属、异常处理和验收条件,帮助无需编程的用户创建可检查的 Telegram 机器人。

Telegram 机器人需要 AI Agent 吗?先看谁决定下一步

用活动报名与开放式任务案例,区分 Telegram 规则机器人、模型工作流和自主 Agent,判断是否需要推理、工具调用与人工确认。