跳到主要内容

客户服务

Telegram 机器人按钮:回复键盘、内联按钮,以及一键获取手机号和位置

Telegram 机器人有两类按钮,工作方式完全不同。回复键盘发送文字,还能请求手机号或位置;内联按钮挂在消息下方,用来打开链接或触发操作。本文讲清楚什么时候用哪一种,以及如何在 MonoChat 中配置。

MonoChat 团队 更新于: 2 分钟阅读

本页内容
  1. 两类按钮一览
  2. 回复键盘:像客户亲手输入的回答
  3. 内联按钮:消息下方的操作
  4. 什么场景用哪种
  5. 在 MonoChat 中搭建 Telegram 按钮
  6. 示例:一家跨境电商的售后机器人
  7. 需要避免的错误
  8. 来源

Telegram 机器人用起来像一位利落的客服,还是像一张填不完的表单,往往取决于按钮。能直接点”查询订单”或”发送手机号”的客户,一秒就能回应;要自己输入订单号、格式正确的手机号或完整地址的客户,经常半路放弃。

Telegram 为机器人提供了两类性质完全不同的按钮,把两者混用是机器人显得笨拙最常见的原因。本文讲解回复键盘和内联按钮的区别、如何一键获取手机号或位置,以及如何在 MonoChat 中把这一切搭起来。Telegram 官方称其活跃用户超过 10 亿,对做出海业务、服务东南亚、中东、独联体等地区客户的企业来说,机器人往往就是客户接触您的第一个入口。

两类按钮一览

回复键盘内联键盘
出现位置取代客户的键盘,位于输入框下方挂在某一条消息下方
点按后按钮文字像手动输入一样发到聊天中向机器人发送隐藏数据,或打开链接、Mini App;聊天中不出现新内容
能否请求手机号或位置可以(request_contact、request_location,仅限私聊)不可以
点按之后可自动隐藏(one_time_keyboard)一直留在消息下方
适合场景需要留在聊天里的回答:菜单、是/否、分享联系人或位置针对某条消息的操作:链接、确认/取消、从卡片中选择

在 Bot API 中,前者是由 KeyboardButton 组成的 ReplyKeyboardMarkup,后者是由 InlineKeyboardButton 组成的 InlineKeyboardMarkup。Telegram 的机器人指南一句话点明了区别:与回复键盘不同,按下内联按钮不会向聊天发送任何消息。

回复键盘:像客户亲手输入的回答

回复键盘会把客户的字母键盘换成一组您的按钮。客户点”营业时间”,聊天里就会出现客户发出的”营业时间”,机器人像读取普通消息一样处理它。因此它非常适合菜单和简短回答:聊天记录清晰,之后接手的客服也能一眼看到客户选了什么。

几个参数决定它的表现:

  • resize_keyboard:让键盘高度贴合按钮数量。不设置时,哪怕只有两个按钮也会占满整个键盘的高度。
  • one_time_keyboard:用过一次就隐藏键盘。客户仍可通过输入框里的图标重新打开,但会先回到正常输入。
  • input_field_placeholder:键盘打开时在输入框显示 1 到 64 个字符的提示,例如”请选择”。
  • is_persistent:即使普通键盘收起,按钮也始终显示。

由于点按发送的是纯文字,按钮名称同时也是流程的分流依据。名称要简短、唯一、稳定:如果把”查询订单”改成”我的包裹到哪了?“,记得同步修改流程中等待这段文字的条件。

用”分享联系人”获取手机号

Telegram 机器人永远无法自行看到客户的手机号,唯一的办法是请求:使用一个 request_contact 为 true 的键盘按钮。客户点按后,Telegram 会把手机号以联系人形式发给机器人。Bot API 明确说明该功能仅在私聊中有效。

这比”请输入您的手机号”可靠得多:不会漏掉国家区号,没有多余空格,而且就是客户 Telegram 账号绑定的号码。当您需要把客户和订单、预约或 CRM 记录对应起来时,这是最自然的第一步。

两个习惯能让客户更愿意点:

  1. 说明原因。“请分享手机号,方便我们查到您的订单”比一个光秃秃的按钮有效得多。手机号属于个人信息,无论是中国的 PIPL,还是目标市场的 GDPR、印尼 PDP 法等,都要求说明用途。
  2. **留一条替代路径。**有些客户不愿分享号码。也可以接受订单号或邮箱,或者转给人工客服。

获取位置

request_location 的原理相同:客户点一下,就会把当前位置以位置消息发送过来。适用于收货地址、最近门店、上门服务,或判断地址是否在配送范围内。同样仅限私聊,是否分享由客户决定。

内联按钮:消息下方的操作

内联按钮属于某一条消息,适合与这条消息相关的选择:预约摘要下的”确认”和”改时间”、餐厅欢迎语下的”查看菜单”、账单下的”立即支付”。企业最常用的有三种:

  • 回调按钮:向机器人发送最多 64 字节的数据(callback_data)。聊天中不显示任何内容,下一步由机器人决定。
  • URL 按钮:打开网页,比如价格表或物流追踪页面。
  • Web App 按钮:在 Telegram 内打开 Mini App,比如预约表单或商品目录。

有个细节非常影响体验。客户点按回调按钮后,Telegram 会一直显示加载进度,直到机器人调用 answerCallbackQuery,并且即使没有要显示的内容,也要求机器人调用。漏掉这一步的机器人会让按钮一直”加载中”,客户只好反复点。

**关于 Telegram Business 账号。**如果把机器人连接到 Telegram Business 账号,让它在您的个人聊天中代为回复,那么以该账号名义发出的消息不支持回复键盘和 Web App 按钮。它们在与机器人本身的聊天中有效,而像 MonoChat 这样通过 BotFather 令牌接入的机器人,正是在这个聊天里与客户对话。

什么场景用哪种

场景使用
主菜单:“价格""营业时间""转人工”回复键盘(快捷回复)
是/否、评分、选择时间段点一次即隐藏的回复键盘
获取客户手机号分享联系人按钮
收货地址或最近门店发送位置按钮
确认或取消本条消息中的预约内联回调按钮
打开网站、物流追踪或支付页面内联 URL 按钮
Telegram 内的表单或目录内联 Web App 按钮

简单原则:回答需要留在对话里,就用回复键盘;按钮作用于某条消息或要跳出 Telegram,就用内联按钮。

在 MonoChat 中搭建 Telegram 按钮

MonoChat 通过 BotFather 令牌接入您的 Telegram 机器人(参见如何创建机器人并获取令牌)。自 3.8.41 版本(2026 年 11 月 1 日)起,MonoChat 将快捷回复、位置请求和联系信息请求作为 Telegram 回复键盘按钮发送,显示按钮消息的图片、视频或文档页眉,回应每一次点按,不再让按钮一直加载,并可显示输入状态提示。

1. 快捷回复(回复键盘)。在流程中添加发送消息节点(或新建一条短消息),选择文本类型。写好正文,打开快捷回复,在按钮下为每个按钮点击添加。把类型设为 text,并为您服务的每种语言填写按钮名称。Telegram 会在输入框下方每行显示两个按钮,并自动调整大小。图片、视频和文档消息同样可以带快捷回复。

2. 请求手机号。选择联系信息请求类型,写好消息,例如”为了查询您的订单,请分享您的手机号。“Telegram 会以客户的语言显示分享联系信息按钮。点一次后按钮隐藏,手机号以联系人形式进入聊天。在菜单中使用类型为 user-phone-number 的快捷回复,效果相同。

3. 请求位置。选择位置请求类型。客户会看到发送位置按钮,位置以位置消息的形式到达。

4. 内联按钮。选择按钮类型。如需在顶部放图片、视频或文档,选择页眉类型;写好正文(最多 1,024 个字符),再添加按钮:回调用 postback,链接用 web-url,Mini App 用 app-url。按钮名称最多 20 个字符。点按 postback 后会以按钮回复的形式出现在聊天中。

5. 按回答分流。用收到新消息事件启动机器人流程,并打开是否为机器人?。提问之后添加如果节点:快捷回复用消息文本条件,若要区分客户分享的联系人或位置与手动输入的文字,用消息类型条件。选择”转人工”的客户进入分配会话节点。

6. 显示正在输入。在渠道设置中打开启用输入状态提示。客服在输入框打字时,以及流程中的 AI 节点准备回复时,客户都会看到”正在输入”;上传图片或文档时,Telegram 会显示正在发送照片或文件。

每一次对话、每一次按钮点按、每一个分享的联系人,都会进入与 WhatsApp、Instagram、Messenger 对话相同的团队收件箱,接手的客服能直接看到客户点了什么。

示例:一家跨境电商的售后机器人

客户: /start 机器人: Hi,这里是 Lumi Home 官方客服,我们从深圳发货到中东和东南亚。请问需要什么帮助?(按钮:查询订单 · 退换货 · 转人工) 客户: 查询订单 机器人: 请分享您的手机号,方便我们找到订单。(按钮:分享联系信息) 客户: (分享联系人) 机器人: 谢谢!如需改派送地址,可以直接发送位置。(按钮:发送位置) 客户: (分享位置) 机器人: 已找到订单,预计周四送达新地址。(内联按钮:确认 · 查看物流)

三次回复键盘把回答留在聊天里,最后用一个内联键盘确认结果。“转人工”直接交给客服。在实际场景中,这类对话通常以客户的语言进行,按钮名称也应为每种语言分别填写。

需要避免的错误

  • **按钮太多。**手机上每个键盘放 2 到 6 个选项最易读。长菜单放进 Mini App 或拆到下一步。
  • **一上来就要手机号。**等客户明白用途后再请求。
  • **键盘一直不收起。**客户会以为不能打字。一次性问题请用一次性键盘。
  • **按钮没有回应。**每次点按都要有回复,哪怕只是”收到,请稍等”。
  • **没有转人工的路径。**始终保留”转人工”。转接和服务时间请参考我们的企业版 Telegram 指南。

如果您也在用 WhatsApp,思路相同但限制不同,请参阅 WhatsApp 互动消息。想在按钮之间加入 AI 回答,请阅读如何创建 Telegram AI 机器人。

在 app.monochat.ai 免费开始,几分钟即可接入您的 Telegram 机器人。

来源

常见问题

常见问题

Telegram 的回复键盘和内联键盘有什么区别?

回复键盘会用您的按钮替换客户原本的键盘,点按后按钮文字会像客户亲手输入一样发到聊天里。内联键盘挂在某一条消息下方,点按后向机器人发送隐藏数据,或打开链接、Mini App,聊天中不会出现新消息。

Telegram 机器人怎样拿到客户的手机号?

只有客户主动分享才行。发送一个设置了 request_contact 的键盘按钮,客户点按后,Telegram 会把手机号以联系人形式发给机器人。在 MonoChat 中选择联系信息请求这一消息类型即可,客户会看到以其语言显示的分享联系信息按钮。

内联按钮能请求手机号或位置吗?

不能。在 Bot API 中,request_contact 和 request_location 只存在于回复键盘按钮(KeyboardButton)上,并且只在与机器人的私聊中有效。内联按钮用于发送回调数据、打开 URL 或启动 Mini App。

为什么点了 Telegram 按钮后一直在转圈加载?

客户点按回调按钮后,Telegram 会显示加载进度,直到机器人调用 answerCallbackQuery。如果机器人不回应,按钮看起来就像卡住了。自 MonoChat 3.8.41 起,每次点按都会得到回应,加载停止,点按以按钮回复的形式出现在聊天中。

给 Telegram 机器人加按钮需要写代码吗?

不需要。把 BotFather 令牌接入 MonoChat,然后在发送消息节点或短消息中配置:快捷回复、带内联按钮的按钮消息、位置请求和联系信息请求。流程会根据客户点的按钮继续引导。

首月 Growth 套餐免费

在一个收件箱中管理 WhatsApp、Instagram 和 Messenger

免费开始使用 MonoChat:共享团队收件箱、AI 助手、消息模板和营销活动,基于 Meta 官方 API。

每家企业一个兑换码 • 30 天内兑换 • 无需绑定银行卡

$150 助您起步。

领取