这不是 Telegram Bot API 机器人。请勿用于垃圾消息、批量冷发或绕过 Telegram 限制。向第三方发送、编辑或删除内容前,应由你的 Agent 获取明确确认。
部署与登录
- 在控制台 → 应用创建 Telegram 账号代理,开通订阅后点击部署。实例资源由平台自动配置。
- 实例就绪后点击「生成登录二维码」。二维码短期有效,过期后可重新生成。
- 在 Telegram 打开设置 → 设备 → 链接桌面设备并扫描二维码。
- 如果状态变为
password_required,在控制台输入 Telegram 两步验证密码。密码只提交到你的租户实例,不会写入平台配置。 - 状态变为
authenticated后,控制台显示当前账号、MCP 地址和 Bearer 访问令牌。
/api/auth/logout 撤销 Telegram 会话;「销毁实例」还会删除工作负载与持久卷。
鉴权与健康检查
除/health 和 /readyz 外,登录、REST 与 MCP 接口都要求:
/health 只表示 HTTP 进程存活:
/readyz 表示 MTProto 连接是否可用。已连接时返回 HTTP 200,即使账号仍在扫码或等待两步验证:
login_state 常见值包括 login_required、waiting_scan、password_required、authenticated;进行账号消息操作前仍需达到 authenticated。
连接 MCP 客户端
Claude Code
Cursor 等支持静态请求头的客户端
按客户端当前文档配置 Streamable HTTP 地址,并添加Authorization 请求头。例如支持下列结构的客户端可使用:
claude_desktop_config.json 中的任意 HTTP 请求头;当前如需静态 Bearer 请求头,请使用 Claude Code 或明确支持该能力的客户端。
MCP 工具
target 可以是会话 ID、用户名或精确会话名称;名称有歧义时优先使用 ID 或用户名。
REST API
所有成功响应使用{"data": ...},失败响应使用 {"error": "..."}。
示例
完整接口
常见问题
- 401:Bearer 令牌缺失或错误。确认令牌放在请求头,不是 URL 查询参数。
- 503:代理访问令牌未配置,或 Telegram 客户端尚未就绪。先检查
/readyz;若代理访问令牌未配置,受保护接口也会返回 503。 - 400:参数或 JSON 无效;搜索必须提供
q,limit必须是大于等于 1 的整数。 - 403 / 404:当前账号没有权限,或 target / message ID 不存在。
- 429:触发 Telegram 频率限制。读取
retry_after并等待,不要并发重试。 - 二维码一直未完成:重新生成二维码,并确认使用的是 Telegram「链接桌面设备」扫码入口。
- 重启后要求重新登录:检查实例持久卷是否正常;主动退出、在 Telegram 设备列表撤销会话或会话失效后需要重新扫码。
验证范围
源码和自动化测试覆盖登录状态、Bearer fail-close、REST 参数校验、错误映射与会话持久化实现。生产使用仍应先在target=me(Saved Messages)完成只读与消息创建/编辑/删除 smoke,再允许 Agent 操作第三方会话。
