mirror of
https://github.com/whitechi73/OpenShamrock.git
synced 2024-08-14 13:12:17 +08:00
378 lines
8.4 KiB
Markdown
378 lines
8.4 KiB
Markdown
---
|
||
title: 消息相关
|
||
icon: comment
|
||
---
|
||
|
||
::: warning 注意
|
||
对于 Shamrock 尚未实现的 API,会在标题添加标记 <Badge text="未实现" type="danger" vertical="baseline" />
|
||
:::
|
||
|
||
## 发送私聊消息
|
||
|
||
该接口用于发送私聊消息。
|
||
|
||
### 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](#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](#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内部错误,该接口可能导致闪退等问题的出现!一般是闪退一次后再次重新启动便不再闪退,但是可能无法获取合并转发的内容!
|
||
|
||
### 响应
|
||
|
||
```json
|
||
{
|
||
"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`:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"type": "node",
|
||
"data": {
|
||
"id": "123"
|
||
}
|
||
},
|
||
{
|
||
"type": "node",
|
||
"data": {
|
||
"id": "456"
|
||
}
|
||
}
|
||
]
|
||
```
|
||
|
||
自定义消息合并转发:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"type": "node",
|
||
"data": {
|
||
"name": "消息发送者A",
|
||
"content": [
|
||
{
|
||
"type": "text",
|
||
"data": {
|
||
"text": "测试消息1"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "node",
|
||
"data": {
|
||
"name": "消息发送者B",
|
||
"content": "[CQ:image,file=xxxxx]测试消息2"
|
||
}
|
||
}
|
||
]
|
||
```
|
||
|
||
引用自定义混合合并转发:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"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` 字段无数据。 |