Skip to content

Bot API 概览

SafeW Bot API 的核心是一套通过 HTTPS 请求进行交互、以 JSON 格式返回响应的软件服务。

Bot 本质上是一段程序、脚本或服务,通过 HTTPS 请求查询 API 并等待响应。你可以发起多种类型的请求,也可以使用和接收多种不同的对象。

获取 Bot Token

Token 是一个字符串,用于在 Bot API 上验证你的 Bot(而非你的账号)身份。每个 Bot 都有唯一的 Token,可以随时通过 @BotFather 撤销。

获取 Token 非常简单:联系 @BotFather,发送 /newbot 命令并按照步骤操作即可获得新 Token。你可以在快速开始中找到详细指引。

Token 格式如下:

4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc

发起请求

所有请求通过 URL 中的 Token 进行认证,格式为:

https://api.safew.org/bot<YOUR_BOT_TOKEN>/methodName

由于浏览器本身就能发送 HTTPS 请求,你可以用它快速体验 API。获取 Token 后,尝试在浏览器中粘贴以下地址:

https://api.safew.org/bot<YOUR_BOT_TOKEN>/getMe

理论上,你可以通过浏览器或 cURL 等工具发送这样的基本请求来与 API 交互。虽然对于上面这种简单请求来说没问题,但对于更大型的应用来说并不实用,也难以扩展。

请求数据格式为 JSON,文件上传使用 multipart/form-data

标准响应格式

成功响应

json
{
  "ok": true,
  "result": {
    ...
  }
}

错误响应

json
{
  "ok": false,
  "error_code": 400,
  "description": "Bad Request: ...",
  "trace_id": "abc123"
}

通用错误码

错误码描述
400请求参数错误
401Token 无效或已过期
403Bot 无权执行该操作
404方法不存在或资源未找到
429请求过于频繁,触发限流
500服务器内部错误

可用方法

基础方法

方法描述HTTP 方法
getMe获取 Bot 基本信息GET / POST
getUpdates长轮询获取更新GET / POST

发送消息

方法描述HTTP 方法
sendMessage发送文本消息POST
sendPhoto发送图片POST
sendVideo发送视频POST
sendVoice发送语音POST
sendAudio发送音频POST
sendDocument发送文档POST
sendMediaGroup发送媒体组POST

编辑消息

方法描述HTTP 方法
editMessageText编辑消息文本POST
editMessageReplyMarkup编辑消息回复标记POST

文件上传说明

以下方法支持文件上传,需使用 multipart/form-data 编码:

  • sendPhoto - 图片文件,最大 10MB
  • sendVideo - 视频文件
  • sendVoice - 语音文件
  • sendAudio - 音频文件
  • sendDocument - 文档文件,最大 100MB
  • sendMediaGroup - 媒体组,最多 10 个文件

除了直接上传文件外,也可以传入已上传文件的 file_id 来复用已有文件。