OpenShamrock/docs/api/message.md
2023-11-10 20:24:53 +08:00

8.4 KiB
Raw Blame History

title icon
消息相关 comment

::: warning 注意 对于 Shamrock 尚未实现的 API会在标题添加标记 :::

发送私聊消息

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

API 端点

/send_private_msg

参数

字段 类型 必须 说明
user_id int64 QQ 号
message string 消息内容
auto_escape bool 是否解析 CQ 码。

响应

字段 类型 说明
message_id int32 消息 ID
time int64 时间戳

发送群聊消息

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

API 端点

/send_group_msg

参数

字段 类型 必须 说明
group_id int64 群号
message string 消息内容
auto_escape bool 是否解析 CQ 码。

响应

字段 类型 说明
message_id int32 消息 ID
time int64 时间戳

发送消息

该接口用于发送消息。

API 端点

/send_msg

参数

字段 类型 必须 说明
message_type string 消息类型
user_id int64 QQ 号
group_id int64 群号
discuss_id int64 讨论组号
message string 消息内容
auto_escape bool 是否解析 CQ 码。

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

响应

字段 类型 说明
message_id int32 消息 ID
time int64 时间戳

获取消息

API 端点

/get_msg

参数

字段 类型 必须 说明
message_id int32 消息 ID

响应

字段 类型 说明
time int64 时间戳
message_type string 消息类型
message_id int32 消息 ID
real_id int32 真实 ID
sender Object<Sender> 发送人信息
message object 消息体
group_id int64 群号
target_id int64 消息目标(私聊)
peer_id int64 消息接收者群聊是群号私聊时是目标QQ

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

Sender

字段 类型 说明
user_id int64 QQ 号
nickname string 昵称
sex string 性别
age int32 年龄
uid string UID

撤回消息

该接口用于撤回消息。

API 端点

/delete_msg

参数

字段 类型 必须 说明
message_id int32 消息 ID

响应

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

获取历史消息

API 端点

/get_history_msg

参数

字段 类型 必须 说明
message_type string 消息 类型
user_id int64 私聊QQ
group_id int64 群号
count int32 获取的消息数量默认为20

响应

字段 类型 说明
messages Message[] 消息集

Message

字段 类型 说明
time int64 时间戳
message_type string 消息类型
message_id int32 消息 ID
real_id int32 真实 ID
sender Object<Sender> 发送人信息
message object 消息体
group_id int64 群号
target_id int64 消息目标(私聊)
peer_id int64 消息接收者群聊是群号私聊时是目标QQ

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

获取群聊历史消息

API 端点

/get_group_msg_history

参数

字段 类型 必须 说明
group_id int64 群号
count int32 获取的消息数量默认为20

响应

字段 类型 说明
messages Message[] 消息集

清除本地缓存消息

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

API 端点

/clear_msgs

参数

字段 类型 必须 说明
message_type string 消息 类型
user_id int64 私聊QQ
group_id int64 群号

响应

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

获取合并转发消息内容

获取合并转发内容

API 端点

/get_forward_msg

参数

字段 类型 必须 说明
id string 消息资源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_id int64 发送到的目标群号
message foward message[] 合并转发消息集

响应

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

示例

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

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

自定义消息合并转发:

[
	{
		"type": "node",
		"data": {
			"name": "消息发送者A",
			"content": [
				{
					"type": "text",
					"data": {
						"text": "测试消息1"
					}
				}
			]
		}
	},
	{
		"type": "node",
		"data": {
			"name": "消息发送者B",
			"content": "[CQ:image,file=xxxxx]测试消息2"
		}
	}
]

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

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

由于QQ限制该接口不提供合并转发后的消息ID以及合并转发ID。

发送私聊合并转发

发送私聊合并转发。

API 端点

/send_private_forward_msg

参数

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

响应

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