Telegram 机器人交互怎么选:命令、按钮还是自然语言
按任务类型选择 Telegram 机器人的命令、回复键盘、内联按钮和自然语言输入,并把交互方式写成可验收需求。
用户说“做一个 Telegram 机器人”时,最容易漏掉的问题不是命令叫什么,而是每一步应该让用户输入文字、点按钮,还是执行命令。选错交互方式,会让一个功能正确的机器人仍然难用:用户要记参数、设置操作刷满聊天记录,或机器人假装能理解任何句子。
Telegram 官方的 Bot Guidelines 把聊天内交互分为命令、自然语言、回复键盘和内联键盘,并把 Inline Mode 作为另一种入口。核心原则很朴素:输入越开放,越适合文字;选项越有限,越应该给按钮;全局动作才适合命令。
先按任务选择输入方式
| 任务 | 优先交互 | 原因 | | --- | --- | --- | | 开始、帮助、取消、重置 | /start、/help、/cancel | 动作全局有效,用户也容易从菜单找回 | | 是/否、分类、固定状态 | 回复键盘或内联按钮 | 不要求用户猜允许的输入 | | 修改当前消息中的设置 | 内联按钮 | 点击后可更新原消息,不必留下多条操作记录 | | 任务名称、备注、搜索词 | 普通文本 | 内容范围开放,按钮无法穷举 | | 从其他聊天快速搜索并分享 | Inline Mode | 不必先进入机器人私聊 |
这里的“内联按钮”和“Inline Mode”不是同一件事。内联按钮附在机器人消息下面;Inline Mode 是在任意聊天输入“@机器人用户名 查询词”。需求中应把两者写清楚。
命令只负责稳定的顶层动作
Telegram 建议机器人正确处理 /start,并把 /help、/cancel 等顶层动作放进命令列表。命令很适合“无论当前进行到哪一步都能执行”的动作,但不适合让普通用户记住长参数。
例如,不要把添加待办设计成:
/add 买牛奶 tomorrow 18:00 high
更容易理解的流程是:
- 用户点击“新增任务”或发送 /add。
- 机器人询问任务内容。
- 用户输入“买牛奶”。
- 机器人用按钮询问日期,允许用户选择“今天”“明天”或“跳过”。
- 机器人展示最终摘要,让用户确认或取消。
这样仍保留命令的快捷入口,但不会把整个表单塞进一行参数。
有限选项用按钮,不要伪装成 AI
如果答案只有“个人/群组”“开启/关闭”或几个固定类别,按钮比自然语言更可靠。回复键盘会像普通消息一样把按钮文字发送到聊天,适合模拟一段有顺序的对话;内联按钮不会产生新的聊天消息,更适合设置、分页和对当前消息的操作。
自然语言适合任务名称、问题或搜索词等开放输入。它不等于机器人自动具备大模型能力。规则机器人可以识别少量格式和关键词,但如果需求是“理解任何表达并自主决定动作”,就需要明确模型、费用、失败策略和人工确认。
BotFatherV2 通过 AI 对话帮助创建和修改 Telegram Serverless 机器人;公开文档同时说明,当前首版不会给已生成机器人自动增加依赖付费 AI 的运行时能力。因此,“用 AI 开发机器人”和“机器人运行时理解自然语言”必须分开写。
为每一步补上恢复路径
好用的机器人不仅有成功路径,还要让用户随时知道如何退出或纠错。至少说明:
- /cancel 在任何表单步骤是否都有效;
- 用户发送意外文本时,是重新提问、返回菜单,还是保留已填内容;
- 按钮被重复点击时是否会重复写入;
- 旧消息上的按钮在状态改变后如何提示;
- 操作失败时是否显示可重试动作,而不是只回复“出错了”;
- /start 是否会清空未完成流程,还是先询问确认。
对写入数据的按钮,验收时应连续点击两次,确认不会产生重复任务或重复报名。对取消流程,则应检查取消后再次开始不会带入旧状态。
可直接使用的需求片段
你可以把下面这段改成自己的场景:
创建一个个人待办机器人。/start 显示用途和“新增任务”“查看任务”两个按钮;/help 说明数据只对当前 Telegram 用户可见;/cancel 可在任何步骤退出。新增任务时,任务内容使用文本输入,日期和优先级使用按钮,保存前显示摘要并要求确认。设置页使用内联按钮并更新原消息。无法识别的文字不直接写入数据,而是解释当前期待的输入并提供取消按钮。所有写入动作必须防止重复点击。
这个片段明确了入口、输入类型、状态、错误处理和数据隔离,比只列出命令更接近可验收规格。
上线前的六项验收
- 新用户只看 /start 就能完成第一个主要任务。
- 用户不需要记忆带参数的命令。
- 所有有限选项都有按钮,并拒绝不在范围内的值。
- /cancel、返回和重新开始都能清理正确的临时状态。
- 重复点击不会重复执行写入或通知。
- 中英文提示、按钮与命令说明使用一致术语。
Bot Guidelines 是设计建议,不是 BotFatherV2 的功能清单。固定 SDK 是否支持某种 Telegram 接口,仍应以生成时的检查结果和发布后的真实 Telegram 测试为准。BotFatherV2 也是独立产品,与 Telegram 官方 @BotFather 无隶属关系。
来源
- Telegram,Bot Guidelines,页面未标注发布日期,2026-10-11 查阅。
- BotFatherV2,使用 AI 开发,2026-10-11 查阅。