Telegram Bot
面向机器人的 MTProto API 简化 HTTP 版本
- 认证方式
- API Key
- HTTPS
- Yes
- CORS
- Unknown
- 分类
- 社交
简介
Telegram Bot API 可以构建在 Telegram 内收发消息、图片、文档、投票等的机器人——API 本身零托管成本。机器人通过纯 HTTPS 调用控制;Telegram 通过长轮询或 webhook 两种方式把更新推送给你。
快速开始
- 在 Telegram 里找 @BotFather,运行
/newbot。 - 复制机器人 token——形如
123456789:AAHf...。 - 验证是否可用(无效 token 返回 HTTP 401):
curl "https://api.telegram.org/bot123456789:AAHf.../getMe"
- 发送第一条消息:
curl -X POST "https://api.telegram.org/botTOKEN/sendMessage" \
-d chat_id=123456789 -d text="Hello from my bot!"
更新如何到达
| 模式 | 原理 | 适用场景 |
|---|---|---|
| 长轮询 | 调用 getUpdates,Telegram 保持连接直到有新更新 |
小机器人、无公网服务器 |
| Webhook | 用 setWebhook 设置公网 HTTPS URL,Telegram 主动 POST 更新 |
生产环境机器人 |
认证方式
- token 本身就是认证——它嵌在 URL 路径中(
/bot<TOKEN>/method),而非请求头。 - 请保密:任何人拿到 token 就能控制你的机器人。用环境变量保存,切勿提交到仓库。
getMe是标准的 token 健康检查。
速率限制与注意事项
- 官方没有硬性速率限制文档,但要求机器人尊重人类用户:不要向同一会话刷屏。
- API 不发送 CORS 头——请从服务端调用,不要在浏览器 JavaScript 里调用。
sendPhoto/sendDocument支持文件 ID、URL 或multipart/form-data上传。- 高流量场景用 webhook +
max_connections,不要用轮询。
常见问题
Telegram Bot API 免费吗? 是的——创建机器人和调用 API 都免费。
机器人需要服务器吗?
只有 webhook 模式需要。长轮询(getUpdates)从任何能发 HTTPS 请求的进程即可运行。
可以在浏览器直接调用吗? 不行——API 不发送 CORS 头,且 token 会暴露。请始终从后端调用。
社交 分类更多
| API | Auth | HTTPS | CORS | |
|---|---|---|---|---|
| 4chan Simple image-based bulletin board dedicated to a variety of topics | No auth | Yes | Yes | ↗ |
| Ayrshare Social media APIs to post, get analytics, and manage multiple users social media accounts | API Key | Yes | Yes | ↗ |
| aztro Daily horoscope info for yesterday, today, and tomorrow | No auth | Yes | Unknown | ↗ |
| Blogger The Blogger APIs allows client applications to view and update Blogger content | OAuth | Yes | Unknown | ↗ |
| Bluesky Decentralized social networking via the AT protocol | No auth | Yes | Yes | ↗ |