Telegram 的 Bot API、Telegram API/TDLib 和 Gateway API 有什么区别?
core.telegram.org 是 Telegram 官方面向开发者的 API 文档站,它把可用的接口分成三类:Bot API、Telegram API/TDLib,以及 Gateway API。三者面向完全不同的开发目标——做机器人、做客户端、做验证码通道。选哪一个,取决于你要构建的产品形态,而不是哪个“更高级”。官方说明中,Bot API 与 Telegram API 均可免费使用。
三类 API 的核心定位
| 维度 | Bot API | Telegram API / TDLib | Gateway API |
|---|---|---|---|
| 目标产物 | 机器人账号(Bot) | 自定义 Telegram 客户端 | 企业/应用/网站的验证码通道 |
| 是否需要处理 MTProto 加密 | 不需要,中间服务器代劳 | 需要,或由 TDLib 处理 | 不需要 |
| 通信方式 | 简化版 HTTPS 接口 | 直接对接 Telegram API | 通过 Telegram 发送授权码 |
| 是否需要额外手机号 | 不需要 | 取决于客户端实现 | 不涉及 |
| 典型使用方 | 自动化工具、客服、通知机器人 | 第三方客户端开发者 | 需要替代短信验证码的业务方 |
Bot API:用 HTTPS 就能接入机器人
Bot API 把机器人连接到 Telegram 系统。机器人是一种特殊账号,不需要额外手机号即可创建,本质是运行在你服务器上的一段代码对外提供的接口。
它的关键便利在于:你不需要了解 MTProto 加密协议如何工作,Telegram 的中间服务器会处理全部加密与通信,你只需通过一个简单的 HTTPS 接口对话,这个接口是 Telegram API 的简化版本。
适合的场景:消息通知、自动化回复、群管理、把 Telegram 当作交互界面来跑自己的程序。官方还提到,机器人开发者可以使用 Payments API 接收来自 Telegram 用户的付款。
选择条件:如果你的目标只是“让一个账号自动收发消息并执行逻辑”,选 Bot API,不要碰 TDLib。
Telegram API 与 TDLib:构建自己的客户端
如果你要的不是机器人,而是一个完整的 Telegram 客户端,就需要 Telegram API 或 TDLib。
TDLib(Telegram Database Library)是官方给第三方开发者的工具,用来降低自建客户端的门槛。它替你处理三件麻烦事:
- 网络实现细节
- 加密
- 本地数据存储
这样你可以把精力放在界面设计、响应式交互和动画上。官方称 TDLib 支持全部 Telegram 功能,可用于 Android、iOS、Windows、macOS、Linux 以及几乎所有其他系统,库本身开源,并兼容几乎所有编程语言。
选择条件:需要自定义界面、品牌化客户端或深度集成 Telegram 功能时,用 TDLib 起步,而不是从零实现协议。
Gateway API:用 Telegram 替代短信验证码
Gateway API 面向的是企业、应用或网站,用途非常具体:通过 Telegram 发送授权码,替代传统短信。
官方给出的理由是降低成本,同时提升验证码的安全性与送达速度,覆盖 Telegram 的 10 亿月活用户。用户会在 Telegram 内的一个专用聊天里即时收到验证码消息。
选择条件:你的痛点是短信验证码贵、慢或到达率不稳定,且用户群体与 Telegram 用户重合,才考虑 Gateway API。它不用于构建机器人或客户端。
怎么选:按目标对号入座
- 要做机器人、自动化、通知 → Bot API
- 要做自己的 Telegram 客户端 → TDLib(底层用 Telegram API)
- 要发验证码、替代短信 → Gateway API
三者不互斥:一个产品完全可能同时用 Bot API 做客服机器人、用 Gateway API 发登录码。判断标准始终是“我要交付的东西是什么”,而不是接口的复杂程度。
除上述三类外,官方页面还提到可以在网站上添加 Telegram Widgets,设计师可以为 Telegram 制作动画贴纸、Emoji 或自定义主题。