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 或自定义主题。

core.telegram.org
We offer three kinds of APIs for developers. The Bot API allows you to easily create programs that use Telegram messages…