跳至主要內容

消息相关

大约 4 分钟

注意

对于 Shamrock 尚未实现的 API,会在标题添加标记 未实现

发送私聊消息

该接口用于发送私聊消息。

API 端点

/send_private_msg

参数

字段类型必须说明
user_idint64QQ 号
messagestring / object / array消息内容
auto_escapebool是否解析 CQ 码(true为不解析)。
recall_durationint64自动撤回时间间隔(毫秒)

message格式可为消息段object,或消息段组合array

响应

字段类型说明
message_idint32消息 ID
timeint64时间戳

发送群聊消息

该接口用于发送群聊消息。

API 端点

/send_group_msg

参数

字段类型必须说明
group_idint64群号
messagestring / object / array消息内容
auto_escapebool是否解析 CQ 码(true为不解析)。
recall_durationint64自动撤回时间间隔(毫秒)

message格式同/send_private_msg

响应

字段类型说明
message_idint32消息 ID
timeint64时间戳

发送消息

该接口用于发送消息。

API 端点

/send_msg

参数

字段类型必须说明
message_typestring消息类型
user_idint64QQ 号
group_idint64群号
discuss_idint64讨论组号
messagestring / object / array消息内容
auto_escapebool是否解析 CQ 码(true为不解析)。
recall_durationint64自动撤回时间间隔(毫秒)

message格式同/send_private_msg

注意

当前发送消息的 API 暂不支持发送讨论组消息。

响应

字段类型说明
message_idint32消息 ID
timeint64时间戳

获取消息

API 端点

/get_msg

参数

字段类型必须说明
message_idint32消息 ID

响应

字段类型说明
timeint64时间戳
message_typestring消息类型
message_idint32消息 ID
real_idint32真实 ID
senderObject<Sender>发送人信息
messageobject消息体
group_idint64群号
target_idint64消息目标(私聊)
peer_idint64消息接收者,群聊是群号,私聊时是目标QQ

peer_id是其他同类框架所表达的target_id!

Sender

字段类型说明
user_idint64QQ 号
nicknamestring昵称
sexstring性别
ageint32年龄
uidstringUID

撤回消息

该接口用于撤回消息。

API 端点

/delete_msg

参数

字段类型必须说明
message_idint32消息 ID

响应

该接口将返回处理结果,其中 data 字段无数据。。

获取历史消息

API 端点

/get_history_msg

参数

字段类型必须说明
message_typestring消息 类型
user_idint64私聊QQ
group_idint64群号
countint32获取的消息数量(默认为20)
message_seqint32起始消息的message_id(默认为0,表示从最后一条发言往前)

响应

字段类型说明
messagesMessage[]消息集

Message

字段类型说明
timeint64时间戳
message_typestring消息类型
message_idint32消息 ID
real_idint32真实 ID
senderObject<Sender>发送人信息
messageobject消息体
group_idint64群号
target_idint64消息目标(私聊)
peer_idint64消息接收者,群聊是群号,私聊时是目标QQ

peer_id是其他同类框架所表达的target_id!

获取群聊历史消息

API 端点

/get_group_msg_history

参数

字段类型必须说明
group_idint64群号
countint32获取的消息数量(默认为20)
message_seqint32起始消息的message_id(默认为0,表示从最后一条发言往前)

响应

字段类型说明
messagesMessage[]消息集

清除本地缓存消息

该接口用于清除本地消息缓存。

API 端点

/clear_msgs

参数

字段类型必须说明
message_typestring消息 类型
user_idint64私聊QQ
group_idint64群号

响应

该接口将返回处理结果,其中 data 字段无数据。

获取合并转发消息内容

获取合并转发内容

API 端点

/get_forward_msg

参数

字段类型必须说明
idstring消息资源ID(卡片消息里面的resId)

由于QQ内部错误,该接口可能导致闪退等问题的出现!一般是闪退一次后再次重新启动便不再闪退,但是可能无法获取合并转发的内容!

响应

{
  "status": "ok",
  "retcode": 0,
  "data": {
    "messages": [
      {
        "time": 1699375697,
        "message_type": "private",
        "message_id": 123456,
        "real_id": 0,
        "sender": {
          "user_id": 114514,
          "nickname": "伏秋洛~",
          "sex": "unknown",
          "age": 0,
          "uid": "u_xxxx"
        },
        "message": [
          {
            "type": "text",
            "data": {
              "text": "aaaaaaaaaa"
            }
          }
        ],
        "peer_id": 114514,
        "target_id": 114514
      }
    ]
  },
  "echo": ""
}

发送群聊合并转发

发送群聊合并转发。

API 端点

/send_group_forward_msg

参数

字段类型必须说明
group_idint64发送到的目标群号
messagesfoward message[]合并转发消息集

响应

由于QQ限制,该接口的响应结果暂不具备意义,其中:message_id不匹配、forward_id为空。

字段类型说明
message_idint32消息 ID
forward_idint32转发 ID
{
  "status": "ok",
  "retcode": 0,
  "data": {
    "message_id": 251425915,
    "forward_id": ""
  }
}

示例

直接引用消息的合并转发,id为消息id

[
  {
    "type": "node",
    "data": {
      "id": "123"
    }
  },
  {
    "type": "node",
    "data": {
      "id": "456"
    }
  }
]

注意

Shamrock 不同于 go-cqhttp ,消息节点无法自定义发送者QQ号(设置头像)与昵称。

自定义消息合并转发:

[
  {
    "type": "node",
    "data": {
      "content": [
        {
          "type": "text",
          "data": {
            "text": "测试消息1"
          }
        }
      ]
    }
  },
  {
    "type": "node",
    "data": {
      "content": "[CQ:image,file=xxxxx]测试消息2"
    }
  }
]

引用自定义混合合并转发:

[
  {
    "type": "node",
    "data": {
      "content": "我是自定义消息"
    }
  },
  {
    "type": "node",
    "data": {
      "id": "123"
    }
  }
]

发送私聊合并转发

发送私聊合并转发。

API 端点

/send_private_forward_msg

参数

字段类型必须说明
user_idint64发送到的目标QQ
messagesfoward message[]合并转发消息集

响应

/send_private_forward_msg