Hanori花织 · 使用文档
使用指南

Telegram Mini App

了解 Mini App 的签名登录、角色、群组范围和可用页面。

Mini App 是从 Telegram WebView 打开的轻量管理入口。它和普通管理面板使用不同的登录边界:服务端验证 Telegram 的 initData,创建按 Bot 作用域隔离的短期会话,再根据实时授权决定用户能看到和修改什么。

启用前提

管理员需要为 Bot 启用 Mini App,并单独配置 MINI_APP_SESSION_SECRET。这个密钥不能复用 Better Auth 密钥、Bot Token 或其他 API Key;轮换后,已有 Mini App 会话会失效,但不会删除 Bot 数据。

Mini App 还需要 Telegram 能访问配置的 Bot,并让 Bot 查询所需的群成员关系。网络、Telegram WebView、Bot 权限或签名数据缺一项,都可能导致会话创建失败。

访问流程

  1. 从 Telegram 中打开 Bot 提供的 Mini App 链接。
  2. Telegram WebView 将签名初始化数据交给前端。
  3. 服务端校验签名、Bot 状态和用户身份,创建带 Bot 路径范围的会话 Cookie。
  4. 服务端实时解析管理员、操作员和已授权群组,并返回当前角色及能力。
  5. 前端只展示当前角色允许的页面,服务端对每个读写请求再次校验。

直接在普通浏览器访问 /mini-app/...,没有真实 Telegram initData,不能证明登录流程成功,也不应通过复制 Cookie 来绕过授权。

角色和范围

角色默认范围
管理员对该 Bot 的可授权范围拥有全局管理能力。
操作员只操作已授予的群组。
查看者只能查看自己仍是成员的已授予群组;成员状态变化会影响下一次授权检查。
无权限不建立可用的 Mini App 工作区。

撤销授权在下一次检查中生效。Telegram API 无法确认成员身份时,服务端应按无访问处理,而不是放宽范围。

可用页面

根据角色,Mini App 可能提供:

  • Groups:查看和管理已授权群组;
  • Settings:调整群组启用状态、触发条件、上下文和总结相关设置;
  • Access:管理聊天与操作员授权;
  • Logs:查看受限的 Mini App 运行日志;
  • Help:查看当前命令与使用提示。

群组设置保存使用修订版本,发生并发修改时需要重新读取最新值后再提交。Bot 生命周期、AI Provider/模型和日志能力仍受服务端角色策略限制。

安全和排错

  • 生产环境应使用 HTTPS,并确保 BETTER_AUTH_URL 或实例公开 origin 与 WebView 访问地址一致。
  • 不要在日志中记录原始 initData、会话 Cookie 或 Bot Token。
  • 若显示签名无效,重新从 Telegram 菜单打开,不要复用旧 URL 或手工拼接参数。
  • 若角色是 none,检查 Bot 是否启用 Mini App、用户是否被授予群组、Bot 是否仍能查询成员关系。
  • 若页面打开但保存失败,查看响应的修订冲突或权限错误,并重新加载页面。

本页内容