Skip to content

Web API

本页介绍精华消息、群公告、匿名禁言、链接安全检查和图片 OCR 等需要 Web 端点认证的接口。ID 字段同时接受数字与数字字符串。

快速索引

API描述
get_essence_msg_list获取精华消息列表
get_group_notice获取群公告
set_group_anonymous_ban群匿名用户禁言
check_url_safely检查链接安全性
ocr_image图片 OCR

获取精华消息列表

  • API: get_essence_msg_list
  • 描述: 获取群精华消息列表。

请求参数

字段类型必填默认值说明
group_idnumber | string-群号。
json
{
  "group_id": "<group_id>"
}

响应参数

字段类型说明备注
(数组)object[]精华消息列表。data 直接为数组。
[].sender_idnumber发送者 QQ 号。-
[].sender_nickstring发送者昵称。-
[].sender_timenumber发送时间戳。-
[].operator_idnumber设精操作者 QQ 号。-
[].operator_nickstring设精操作者昵称。-
[].operator_timenumber设精时间戳。-
[].message_idnumber消息序号。-
json
[
  {
    "sender_id": 0,
    "sender_nick": "",
    "sender_time": 0,
    "operator_id": 0,
    "operator_nick": "",
    "operator_time": 0,
    "message_id": 0
  }
]

示例

bash
curl -X POST 'http://127.0.0.1:5700/get_essence_msg_list' \
  -H 'Content-Type: application/json' \
  -d '{"group_id":"<group_id>"}'
js
const res = await fetch('http://127.0.0.1:5700/get_essence_msg_list', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    group_id: '<group_id>'
  })
})

const body = await res.json()
console.log(body.data)
py
import requests

resp = requests.post(
    "http://127.0.0.1:5700/get_essence_msg_list",
    json={"group_id": "<group_id>"},
    timeout=10,
)
resp.raise_for_status()
body = resp.json()
print(body["data"])

错误码

retcode说明
1400参数错误。
1500请求失败或认证失败。

获取群公告

  • API: get_group_notice(别名 _get_group_notice
  • 描述: 获取群公告列表。

请求参数

字段类型必填默认值说明
group_idnumber | string-群号。
json
{
  "group_id": "<group_id>"
}

响应参数

字段类型说明备注
(数组)object[]群公告列表。data 直接为数组。
[].notice_idstring公告 ID。-
[].sender_idnumber发布者 QQ 号。-
[].publish_timenumber发布时间戳。-
[].messageobject公告内容。-
[].message.textstring公告正文。-
[].message.imagesobject[]公告图片列表。可为空数组。
[].message.images[].heightstring图片高度。-
[].message.images[].widthstring图片宽度。-
[].message.images[].idstring图片 ID。-
json
[
  {
    "notice_id": "<notice_id>",
    "sender_id": 0,
    "publish_time": 0,
    "message": {
      "text": "",
      "images": [
        { "height": "100", "width": "200", "id": "<image_id>" }
      ]
    }
  }
]

示例

bash
curl -X POST 'http://127.0.0.1:5700/get_group_notice' \
  -H 'Content-Type: application/json' \
  -d '{"group_id":"<group_id>"}'
js
const res = await fetch('http://127.0.0.1:5700/get_group_notice', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    group_id: '<group_id>'
  })
})

const body = await res.json()
console.log(body.data)
py
import requests

resp = requests.post(
    "http://127.0.0.1:5700/get_group_notice",
    json={"group_id": "<group_id>"},
    timeout=10,
)
resp.raise_for_status()
body = resp.json()
print(body["data"])

错误码

retcode说明
1400参数错误。
1500请求失败或认证失败。

群匿名用户禁言

  • API: set_group_anonymous_ban
  • 描述: 对群匿名用户进行禁言。

请求参数

字段类型必填默认值说明
group_idnumber | string-群号。
anonymousobject-来自消息事件的匿名成员对象,从中取 flag 字段。
anonymous_flagstring-匿名标识串,优先于 anonymous.flag
durationnumber1800禁言时长(秒)。

anonymous_flaganonymous.flag 至少需提供其一,否则返回 1400

json
{
  "group_id": "<group_id>",
  "anonymous_flag": "<flag>",
  "duration": 1800
}

响应参数

成功时 datanull

示例

bash
curl -X POST 'http://127.0.0.1:5700/set_group_anonymous_ban' \
  -H 'Content-Type: application/json' \
  -d '{"group_id":"<group_id>","anonymous_flag":"<flag>","duration":1800}'
js
const res = await fetch('http://127.0.0.1:5700/set_group_anonymous_ban', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    group_id: '<group_id>',
    anonymous_flag: '<flag>',
    duration: 1800
  })
})

const body = await res.json()
console.log(body.status)
py
import requests

resp = requests.post(
    "http://127.0.0.1:5700/set_group_anonymous_ban",
    json={
        "group_id": "<group_id>",
        "anonymous_flag": "<flag>",
        "duration": 1800,
    },
    timeout=10,
)
resp.raise_for_status()
body = resp.json()
print(body["status"])

错误码

retcode说明
1400缺少 anonymous_flaganonymous.flag
1500请求失败或服务端返回错误。

注意事项

检查链接安全性

  • API: check_url_safely
  • 描述: 检查指定链接的安全等级。

请求参数

字段类型必填默认值说明
urlstring-待检查的链接。
json
{
  "url": "<url>"
}

响应参数

字段类型说明备注
levelnumber安全等级。1 = 安全,2 = 未知,3 = 危险。
json
{
  "level": 1
}

示例

bash
curl -X POST 'http://127.0.0.1:5700/check_url_safely' \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'
js
const res = await fetch('http://127.0.0.1:5700/check_url_safely', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    url: 'https://example.com'
  })
})

const body = await res.json()
console.log(body.data.level)
py
import requests

resp = requests.post(
    "http://127.0.0.1:5700/check_url_safely",
    json={"url": "https://example.com"},
    timeout=10,
)
resp.raise_for_status()
body = resp.json()
print(body["data"]["level"])

错误码

retcode说明
1400参数错误。
1500解码失败或请求失败。

图片 OCR

  • API: ocr_image(别名 ocr
  • 描述: 对图片进行文字识别(OCR)。

请求参数

字段类型必填默认值说明
imagestring否*-图片源。
filestring否*-图片源(别名)。

*imagefile 至少需提供其一非空,否则返回 1400

json
{
  "image": "<file_path>"
}

响应参数

字段类型说明备注
textsobject[]识别结果列表。-
texts[].textstring识别到的文字。-
texts[].confidencenumber置信度。-
texts[].coordinatesobject[]坐标点列表。-
texts[].coordinates[].xnumberX 坐标。-
texts[].coordinates[].ynumberY 坐标。-
languagestring识别语言。-
json
{
  "texts": [
    {
      "text": "",
      "confidence": 95,
      "coordinates": [{ "x": 0, "y": 0 }]
    }
  ],
  "language": "zh"
}

示例

bash
curl -X POST 'http://127.0.0.1:5700/ocr_image' \
  -H 'Content-Type: application/json' \
  -d '{"image":"<file_path>"}'
js
const res = await fetch('http://127.0.0.1:5700/ocr_image', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    image: '<file_path>'
  })
})

const body = await res.json()
console.log(body.data.texts)
py
import requests

resp = requests.post(
    "http://127.0.0.1:5700/ocr_image",
    json={"image": "<file_path>"},
    timeout=10,
)
resp.raise_for_status()
body = resp.json()
print(body["data"]["texts"])

错误码

retcode说明
1400缺少 imagefile
1500图片上传失败或识别失败。

注意事项

  • image / file 字段接受本地路径、file://base64://http(s)://
  • 已收图的裸 md5 token(无实际字节)无法用于 OCR,会返回错误。