Telegram Mini App — 分步指南
什么是?#
Telegram Mini App 允许您的客户直接在 Telegram 内打开餐厅的数字菜单——无需安装应用程序,也无需切换到浏览器。菜单看起来就像 Telegram 的本地部分:适应用户的主题,支持“返回”按钮和手势。
优势#
- 📱 在 Telegram 内 — 客户无需切换到浏览器
- 🎨 本地外观 — 颜色、字体和主题适应 Telegram
- 🔗 深度链接 — 直接链接到特定餐厅的菜单
- 🌍 自动语言 — 语言从用户的 Telegram 设置中获取
- 🍪 无 cookies — cookie 横幅在 Telegram 内不显示
快速开始#
步骤 1 — 创建机器人#
在 Telegram 中打开 @BotFather 并发送:
/newbot
- 输入机器人名称(例如,
Cenaly Menu Bot) - 输入用户名(例如,
MeniMenuBot)— 必须以Bot结尾 - 保存收到的 Bot Token(格式:
123456789:ABCdefGHI...)
Bot Token 有什么用?#
Bot Token 是通过 Telegram Bot API 对机器人进行编程管理的密钥。对于 Mini App 的基本设置(步骤 2–4),它不需要——所有操作都通过 BotFather 完成。但如果您想要:
- 向客户发送消息 — 订单状态通知、促销、欢迎消息
- 在机器人消息中添加内联按钮(例如,“📋 打开菜单”按钮——见下文)
- 创建用于接收订单的 Telegram 机器人 — 机器人可以接收和处理订单
- 设置 Webhook — 从 Telegram 接收事件(按钮点击、用户命令)
- 与 CRM 或 POS 系统集成 — 通过机器人自动处理订单
步骤 2 — 创建 Mini App#
向 BotFather 发送命令:
/newapp
- 选择机器人 从列表中
- Title — 应用名称(例如,
Cenaly) - Description — 描述(例如,
Digital restaurant menu) - Photo — 上传 640×640 px 的图片(应用图标)
- GIF — 动画(可选)。要跳过,请发送
/empty - Web App URL — 指定您的客户端应用地址:
https://cenaly.com
- Short Name — 链接的短名称(例如,
menu)
之后,您将获得一个工作链接,如下所示:
https://t.me/YourBot/menu
步骤 3 — 在机器人聊天中添加“菜单”按钮#
向 BotFather 发送:
/setmenubutton
- 选择机器人
- 发送 URL:
https://cenaly.com
- 输入按钮文本(例如,
Open Menu或📋 菜单)
现在,当打开与机器人的聊天时,屏幕底部将出现一个按钮,打开您的应用。
步骤 4 — 允许域名#
向 BotFather 发送:
/setdomain
选择机器人并指定域名:
cenaly.com
这将允许 Telegram Web App 在您的域名及其所有子域(例如,locationid.cenaly.com)上运行。
Deep Links — 链接到特定餐厅#
Telegram 支持 startapp 参数,该参数在打开时传递给应用。使用它来链接到特定餐厅:
| 链接 | 打开的内容 |
|---|---|
t.me/YourBot/menu |
首页 |
t.me/YourBot/menu?startapp=LOCATION_ID |
特定餐厅的菜单 |
t.me/YourBot/menu?startapp=LOCATION_ID__ru |
俄语菜单 |
t.me/YourBot/menu?startapp=LOCATION_ID__en |
英语菜单 |
示例#
如果您的餐厅 LOCATION_ID 是 lnc2w74z:
https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu?startapp=lnc2w74z__ru
https://t.me/YourBot/menu?startapp=lnc2w74z__en
机器人中的内联按钮#
如果您的机器人向客户发送消息,您可以添加一个内联按钮来打开菜单:
方案 1 — Web App 按钮(立即打开)#
{
"inline_keyboard": [[{
"text": "📋 打开菜单",
"web_app": {
"url": "https://LOCATION_ID.cenaly.com/ru"
}
}]]
}
方案 2 — 深度链接按钮#
{
"inline_keyboard": [[{
"text": "📋 打开菜单",
"url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__ru"
}]]
}
自动工作的功能#
连接后,以下功能在 Telegram 内自动启用:
| 功能 | 描述 |
|---|---|
| 🎨 主题 | 应用颜色适应 Telegram 主题(浅色/深色) |
| ◀️ “返回”按钮 | 打开商品卡时出现 Telegram 的本地按钮 |
| 📏 视口 | 应用全屏显示 |
| 🔒 关闭保护 | 垂直滑动不会意外关闭应用 |
| 🌍 自动语言 | 如果未明确指定,语言从 Telegram 配置文件中获取 |
| 🍪 Cookies | cookie 横幅在 Telegram 内不显示 |
餐厅的 QR 码#
现有的 QR 码,URL 格式为 https://lnc2w74z.cenaly.com,将继续正常工作——通过浏览器。
为了与 Telegram 进一步集成,可以在桌子上放置第二个 QR 码,链接到机器人:
https://t.me/YourBot/menu?startapp=lnc2w74z
功能检查#
- 在手机上打开链接
https://t.me/YourBot/menu - 点击 Start(如果是第一次打开机器人)
- 点击聊天底部面板上的 📋 菜单 按钮
- 确保应用已打开并加载菜单
- 尝试打开深度链接:
https://t.me/YourBot/menu?startapp=LOCATION_ID
常见问题#
| 问题 | 解决方案 |
|---|---|
| 应用无法打开 | 检查域名 cenaly.com 是否通过 /setdomain 允许 |
| 白屏 | 确保 Web App URL 指定为 https://cenaly.com(必须为 HTTPS) |
startapp 无效 |
检查格式:LOCATION_ID(无空格、特殊字符)。语言分隔符为双下划线 __ |
| 主题未应用 | 必须连接 Telegram Mini App SDK(更新客户端应用) |