快速解答: 调用 Telegram 托管的 HTTP Bot API,通常只需要 BotFather 提供的 Bot Token。机器人通过 MTProto 授权,或部署官方 Bot API Server 时,才会另外涉及
api_id、api_hash。三者不能互相替代。
很多“Telegram API key 怎么获取”的问题,实际是把应用资料与机器人 Token 混在一起。先看所用软件要求的字段和协议,可以避免申请错资料。
三种方式怎么区分?
| 接入方式 | 需要什么 | 典型用途 |
|---|---|---|
| Telegram 托管 Bot API | Bot Token | 菜单、客服、通知、表单和机器人支付 |
| 机器人通过 MTProto 授权 | api_id、api_hash、Bot Token | 使用允许机器人调用的客户端 API 方法 |
| 自建官方 Bot API Server | 服务进程配置应用 ID 和 Hash;机器人请求使用 Token | 需要自有 Bot API 服务及相关文件能力 |
MTProto 机器人仍然是机器人,不会因为加入应用凭证就变成用户账号。方法是否支持 Bot,应查看官方方法页和限制。
常见机器人功能需要哪条路线?
命令菜单、按钮、收到消息后回复、发送媒体、群内基础管理等,通常先用 Bot API。Mini App 是与 Bot 配套的 Web 应用,需要处理它自己的初始化数据与身份验证;不能把 api_hash 当成网页登录密码。
内联机器人、游戏和 Business 连接也应按各自的官方入口实现。不要为了“功能更全”就默认收集客户的用户会话。更多接口说明见 机器人开发文档。
从一个菜单开始验证
- 使用自己管理的机器人取得 Token,放在受限服务端配置中。
- 选择接收更新的方式,核对 webhook 或长轮询配置,避免多个程序争抢更新。
- 让测试用户打开机器人并发送
/start,验证菜单与回调。 - 验证文字、图片、文件和异常输入,再测试重试时的去重。
- 仅在确实需要对应能力时,评估 MTProto 或自建 Bot API Server。
机器人能够调用接口,不代表可以主动私聊任何手机号。对客户的通知要基于已建立且允许的交互关系,具体限制以官方 Bot 文档为准。
凭证填错时会怎样?
| 现象 | 先核对的内容 |
|---|---|
| 工具要求 Token,却只有 ID 和 Hash | 是否选择了错误的申请入口 |
| 工具要求三项资料 | 是否通过 MTProto 登录机器人或配置自建服务 |
| 普通 Bot 无法读完整历史 | 方法与身份权限,而非重新申请 API |
| 菜单有了,收不到回调 | 更新接收、运行实例和服务错误 |
排错时不要把完整 Token 放在公开截图或 URL 日志中。Token、API Hash 与用户 session 的用途不同,但都不适合随意提交给第三方排查工具。
应该去 BotFather 还是 GetTGAPI?
缺少 Bot Token,应通过官方 BotFather 管理。缺少应用 api_id、api_hash,可按 官方门户教程 办理;门户 ERROR 时访问 gettgapi.com/help#contact 联系 GetTGAPI,已有授权码进入 申请页。
GetTGAPI 协助获取开发者应用资料,不出售 Bot Token,也不会因为你选择普通 Bot API 而要求多申请一组 ID 和 Hash。