修复无法构建的问题,整理格式,优化安装教程

This commit is contained in:
huan_kong 2024-02-19 14:37:03 +08:00
parent e93a8eb1f5
commit 16d8f0b854
22 changed files with 720 additions and 828 deletions

1
.gitignore vendored
View File

@ -9,6 +9,7 @@ lerna-debug.log*
node_modules
.temp
dist
.cache
# Editor directories and files

5
.markdownlint.json Normal file
View File

@ -0,0 +1,5 @@
{
"MD013": false,
"MD024": false,
"MD033": false
}

View File

@ -31,13 +31,13 @@ icon: address-book
@tab 响应字段
| 字段 | 类型 | 说明 |
| -------- | ------ | ----- |
| user_id | int64 | QQ 号 |
| nickname | string | 昵称 |
| age | int32 | 年龄 |
| sex | string | 性别 |
| ext | object | 扩展字段(一堆垃圾) |
| 字段 | 类型 | 说明 |
| -------- | ------ | -------------------- |
| user_id | int64 | QQ 号 |
| nickname | string | 昵称 |
| age | int32 | 年龄 |
| sex | string | 性别 |
| ext | object | 扩展字段(一堆垃圾) |
@tab 响应示例
@ -187,7 +187,6 @@ icon: address-book
:::
## 获取单向好友列表 <Badge text="未实现" type="danger" />
该接口用于获取单向好友列表。
@ -274,7 +273,6 @@ icon: address-book
:::
## 获取群列表
该接口用于获取群列表。
@ -549,17 +547,17 @@ icon: address-book
#### InvitedRequest
| 字段 | 类型 | 说明 |
| ------------ | ------ | ----------------- |
| request_id | int64 | 请求ID |
| invitor_uin | int64 | 邀请者 |
| invitor_nick | string | 邀请者昵称 |
| group_id | int64 | 群号 |
| group_name | string | 群名 |
| checked | bool | 是否已被处理 |
| actor | int64 | 处理者, 未处理为0 |
| requester_uin| int64 | 被邀请者ID |
| flag | string | flag,用于处理请求 |
| 字段 | 类型 | 说明 |
| ------------- | ------ | ----------------- |
| request_id | int64 | 请求ID |
| invitor_uin | int64 | 邀请者 |
| invitor_nick | string | 邀请者昵称 |
| group_id | int64 | 群号 |
| group_name | string | 群名 |
| checked | bool | 是否已被处理 |
| actor | int64 | 处理者, 未处理为0 |
| requester_uin | int64 | 被邀请者ID |
| flag | string | flag,用于处理请求 |
#### JoinRequest
@ -591,20 +589,20 @@ icon: address-book
@tab 响应字段
| 字段 | 类型 | 说明 |
| ---------------- | ------ | -------- |
| request_id | int64 | 请求id |
| requester_uin | int64 | 请求者QQ号 |
| requester_nick | string | 请求者昵称 |
| source | string | 来源 |
| message | string | 附加消息 |
| source_group_name | string | 来源群名称,仅当从群添加好友时存在 |
| source_group_id | int64 | 来源群号,仅当从群添加好友时存在 |
| sex | string | 请求者性别 |
| age | string | 请求者年龄 |
| msg_detail | string | 处理结果 |
| status | string | 可选值:`已同意``已拒绝`,为空则表示尚未处理 |
| flag | string | flag,用于处理请求 |
| 字段 | 类型 | 说明 |
| ----------------- | ------ | ---------------------------------------------- |
| request_id | int64 | 请求id |
| requester_uin | int64 | 请求者QQ号 |
| requester_nick | string | 请求者昵称 |
| source | string | 来源 |
| message | string | 附加消息 |
| source_group_name | string | 来源群名称,仅当从群添加好友时存在 |
| source_group_id | int64 | 来源群号,仅当从群添加好友时存在 |
| sex | string | 请求者性别 |
| age | string | 请求者年龄 |
| msg_detail | string | 处理结果 |
| status | string | 可选值:`已同意``已拒绝`,为空则表示尚未处理 |
| flag | string | flag,用于处理请求 |
@tab 响应示例
@ -614,36 +612,37 @@ icon: address-book
"retcode": 0,
"data": [
{
"request_id": 1702011024000000,
"requester_uin": 1234567890,
"requester_nick": "流月e",
"source": "QQ群-群名称",
"message": "我是流月e",
"source_group_name": "群名称",
"source_group_id": 1234567890,
"flag": "1702011024000000;3004;3;1234567890",
"sex": "female",
"age": 23,
"msg_detail": "",
"status": ""
"request_id": 1702011024000000,
"requester_uin": 1234567890,
"requester_nick": "流月e",
"source": "QQ群-群名称",
"message": "我是流月e",
"source_group_name": "群名称",
"source_group_id": 1234567890,
"flag": "1702011024000000;3004;3;1234567890",
"sex": "female",
"age": 23,
"msg_detail": "",
"status": ""
},
{
"request_id": 1702010997000000,
"requester_uin": 1234567891,
"requester_nick": "是铃音啦",
"source": "QQ群",
"message": "",
"source_group_name": "",
"source_group_id": 0,
"flag": "1702010997000000;6;1;1234567891",
"sex": "male",
"age": 0,
"msg_detail": "",
"status": ""
"request_id": 1702010997000000,
"requester_uin": 1234567891,
"requester_nick": "是铃音啦",
"source": "QQ群",
"message": "",
"source_group_name": "",
"source_group_id": 0,
"flag": "1702010997000000;6;1;1234567891",
"sex": "male",
"age": 0,
"msg_detail": "",
"status": ""
}
]
}
```
:::
## 获取精华消息列表
@ -664,17 +663,16 @@ icon: address-book
响应内容为 JSON 数组,每个元素如下:
| 字段名 | 数据类型 | 说明 |
| ------------- | -------- | ------------ |
| sender_id | int64 | 发送者QQ 号 |
| sender_nick | string | 发送者昵称 |
| sender_time | int64 | 消息发送时间 |
| operator_id | int64 | 操作者QQ 号 |
| operator_nick | string | 操作者昵称 |
| operator_time | int64 | 精华设置时间 |
| message_id | int32 | 消息ID可能为0表示找不到消息映射 |
| message_seq | int32 | 消息seq |
| 字段名 | 数据类型 | 说明 |
| ------------- | -------- | --------------------------------- |
| sender_id | int64 | 发送者QQ 号 |
| sender_nick | string | 发送者昵称 |
| sender_time | int64 | 消息发送时间 |
| operator_id | int64 | 操作者QQ 号 |
| operator_nick | string | 操作者昵称 |
| operator_time | int64 | 精华设置时间 |
| message_id | int32 | 消息ID可能为0表示找不到消息映射 |
| message_seq | int32 | 消息seq |
## QQ是否在黑名单内

View File

@ -7,7 +7,6 @@ icon: feather-alt
这里的API处于实验性阶段不会进行大量维护和更新由于过于简单如果需要某些功能可以自行PR
:::
## 获取收藏列表
获取收藏列表
@ -20,15 +19,15 @@ icon: feather-alt
## 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| page_size | int32 | 是 | 获取的数量 | |
| category | int32 | 是 | 分类 | |
| start_pos | int32 | 是 | 开始的位置 | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| --------- | ----- | ---- | ---------- | ------ |
| page_size | int32 | 是 | 获取的数量 | |
| category | int32 | 是 | 分类 | |
| start_pos | int32 | 是 | 开始的位置 | |
### 响应
```json
```json
{
"status": "ok",
"retcode": 0,
@ -62,13 +61,13 @@ icon: feather-alt
## 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| id | string | 是 | id | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ---- | ------ | ---- | ---- | ------ |
| id | string | 是 | id | |
### 响应
```json
```json
{
"status": "ok",
"retcode": 0,
@ -91,13 +90,13 @@ icon: feather-alt
## 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| content | string | 是 | 内容 | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------- | ------ | ---- | ---- | ------ |
| content | string | 是 | 内容 | |
### 响应
```json
```json
{
"status": "ok",
"retcode": 0,
@ -120,13 +119,13 @@ icon: feather-alt
## 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| file | string | 是 | 图片base64或者绝对路径或者URL | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ---- | ------ | ---- | ----------------------------- | ------ |
| file | string | 是 | 图片base64或者绝对路径或者URL | |
### 响应
```json
```json
{
"status": "ok",
"retcode": 0,
@ -135,4 +134,4 @@ icon: feather-alt
},
"echo": ""
}
```
```

View File

@ -21,11 +21,11 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| user_id | int64 | 目标 |
| 字段 | 类型 | 说明 |
| ------- | ------ | ------------ |
| user_id | int64 | 目标 |
| file | string | 本地文件路径 |
| name | string | 文件名称 |
| name | string | 文件名称 |
### 响应
@ -33,12 +33,12 @@ icon: file
@tab 响应字段
| 字段 | 类型 | 说明 |
| ---------------- | ------------ | ---------- |
| msg_id | int32 | 消息id |
| bizid | int32 | |
| md5 | string | MD5 |
| file_id | string | 文件uuid |
| 字段 | 类型 | 说明 |
| ------- | ------ | -------- |
| msg_id | int32 | 消息id |
| bizid | int32 | |
| md5 | string | MD5 |
| file_id | string | 文件uuid |
@tab 响应示例
@ -60,7 +60,6 @@ icon: file
:::
## 上传群文件
该接口用于上传群文件。
@ -75,11 +74,11 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|----------|--------|--------|
| group_id | int64 | 群号 |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------------ |
| group_id | int64 | 群号 |
| file | string | 本地文件路径 |
| name | string | 文件名称 |
| name | string | 文件名称 |
### 响应
@ -87,12 +86,12 @@ icon: file
@tab 响应字段
| 字段 | 类型 | 说明 |
| ---------------- | ------------ | ---------- |
| msg_id | int32 | 消息id |
| bizid | int32 | |
| md5 | string | MD5 |
| file_id | string | 文件uuid |
| 字段 | 类型 | 说明 |
| ------- | ------ | -------- |
| msg_id | int32 | 消息id |
| bizid | int32 | |
| md5 | string | MD5 |
| file_id | string | 文件uuid |
@tab 响应示例
@ -115,7 +114,7 @@ icon: file
:::
::: warning 注意
参数 `folder`在Shamrock不受支持。
参数 `folder`在Shamrock不受支持。
:::
## 删除群文件
@ -128,10 +127,10 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|----------|--------|--------------------------|
| group_id | int64 | 群号 |
| file_id | string | 文件ID 参考 [File](#file) 对象 |
| 字段 | 类型 | 说明 |
| -------- | ------ | -------------------------------- |
| group_id | int64 | 群号 |
| file_id | string | 文件ID 参考 [File](#file) 对象 |
| busid | int32 | 文件类型 参考 [File](#file) 对象 |
::: tip 提示
@ -152,10 +151,10 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|-----------|--------|-------------------------------|
| group_id | int64 | 群号 |
| name | string | 群文件夹名字 |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------------ |
| group_id | int64 | 群号 |
| name | string | 群文件夹名字 |
### 响应示例
@ -185,11 +184,11 @@ icon: file
`/rename_group_folder`
| 字段 | 类型 | 说明 |
|-----------|--------|-------------------------------|
| group_id | int64 | 群号 |
| folder_id | string | 群文件夹ID |
| name | string | 群文件夹名字 |
| 字段 | 类型 | 说明 |
| --------- | ------ | ------------ |
| group_id | int64 | 群号 |
| folder_id | string | 群文件夹ID |
| name | string | 群文件夹名字 |
### 响应解释
@ -205,9 +204,9 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|-----------|--------|-------------------------------|
| group_id | int64 | 群号 |
| 字段 | 类型 | 说明 |
| --------- | ------ | ------------------------------------ |
| group_id | int64 | 群号 |
| folder_id | string | 文件夹ID 参考 [Folder](#folder) 对象 |
### 响应解释
@ -224,18 +223,18 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|----------|-------|----|
| 字段 | 类型 | 说明 |
| -------- | ----- | ---- |
| group_id | int64 | 群号 |
### 响应
| 字段 | 类型 | 说明 |
|-------------|-------|-------|
| file_count | int32 | 文件总数 |
| limit_count | int32 | 文件上限 |
| 字段 | 类型 | 说明 |
| ----------- | ----- | ---------- |
| file_count | int32 | 文件总数 |
| limit_count | int32 | 文件上限 |
| used_space | int64 | 已使用空间 |
| total_space | int64 | 空间上限 |
| total_space | int64 | 空间上限 |
## 获取群根目录文件列表
@ -247,45 +246,45 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|----------|-------|----|
| 字段 | 类型 | 说明 |
| -------- | ----- | ---- |
| group_id | int64 | 群号 |
### 响应
| 字段 | 类型 | 说明 |
|---------|-------------------------|-------|
| files | List<[File](#file)> | 文件列表 |
| 字段 | 类型 | 说明 |
| ------- | ----------------------- | ---------- |
| files | List<[File](#file)> | 文件列表 |
| folders | List<[Folder](#folder)> | 文件夹列表 |
#### File
| 字段 | 类型 | 说明 |
|----------------|--------|--------------|
| group_id | int32 | 群号 |
| file_id | string | 文件ID |
| file_name | string | 文件名 |
| busid | int32 | 文件类型 |
| file_size | int64 | 文件大小 |
| upload_time | int64 | 上传时间 |
| 字段 | 类型 | 说明 |
| -------------- | ------ | ----------------------- |
| group_id | int32 | 群号 |
| file_id | string | 文件ID |
| file_name | string | 文件名 |
| busid | int32 | 文件类型 |
| file_size | int64 | 文件大小 |
| upload_time | int64 | 上传时间 |
| dead_time | int64 | 过期时间永久文件恒为0 |
| modify_time | int64 | 最后修改时间 |
| download_times | int32 | 下载次数 |
| uploader | int64 | 上传者ID |
| uploader_name | string | 上传者名字 |
| md5 | string | md5 |
| sha | string | sha |
| sha3 | string | sha3 可能获取不到 |
| modify_time | int64 | 最后修改时间 |
| download_times | int32 | 下载次数 |
| uploader | int64 | 上传者ID |
| uploader_name | string | 上传者名字 |
| md5 | string | md5 |
| sha | string | sha |
| sha3 | string | sha3 可能获取不到 |
#### Folder
| 字段 | 类型 | 说明 |
|------------------|--------|-------|
| group_id | int32 | 群号 |
| folder_id | string | 文件夹ID |
| folder_name | string | 文件名 |
| create_time | int64 | 创建时间 |
| creator | int64 | 创建者 |
| 字段 | 类型 | 说明 |
| ---------------- | ------ | ---------- |
| group_id | int32 | 群号 |
| folder_id | string | 文件夹ID |
| folder_name | string | 文件名 |
| create_time | int64 | 创建时间 |
| creator | int64 | 创建者 |
| creator_name | string | 创建者名字 |
| total_file_count | int32 | 子文件数量 |
@ -299,16 +298,16 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|-----------|--------|-------------------------------|
| group_id | int64 | 群号 |
| 字段 | 类型 | 说明 |
| --------- | ------ | ------------------------------------ |
| group_id | int64 | 群号 |
| folder_id | string | 文件夹ID 参考 [Folder](#folder) 对象 |
### 响应
| 字段 | 类型 | 说明 |
|---------|----------|-------|
| files | File[] | 文件列表 |
| 字段 | 类型 | 说明 |
| ------- | -------- | ---------- |
| files | File[] | 文件列表 |
| folders | Folder[] | 文件夹列表 |
## 获取群文件资源链接
@ -321,14 +320,14 @@ icon: file
### 参数
| 字段 | 类型 | 说明 |
|----------|--------|--------------------------|
| group_id | int64 | 群号 |
| file_id | string | 文件ID 参考 [File](#file) 对象 |
| 字段 | 类型 | 说明 |
| -------- | ------ | -------------------------------- |
| group_id | int64 | 群号 |
| file_id | string | 文件ID 参考 [File](#file) 对象 |
| busid | int32 | 文件类型 参考 [File](#file) 对象 |
### 响应
| 字段 | 类型 | 说明 |
|-----|--------|--------|
| url | string | 文件下载链接 |
| 字段 | 类型 | 说明 |
| ---- | ------ | ------------ |
| url | string | 文件下载链接 |

View File

@ -104,10 +104,10 @@ icon: user-group
### 参数
| 字段名 | 数据类型 | 默认值 | 说明 |
| -------- | -------- | ------ | ---------------------------------------- |
| group_id | int64 | - | 群号 |
| remark | string | 空 | 群备注, 不填或空字符串表示删除群备注 |
| 字段名 | 数据类型 | 默认值 | 说明 |
| -------- | -------- | ------ | ------------------------------------ |
| group_id | int64 | - | 群号 |
| remark | string | 空 | 群备注, 不填或空字符串表示删除群备注 |
::: tip 提示
该 API 无响应数据
@ -244,11 +244,11 @@ icon: user-group
### 参数
| 字段名 | 数据类型 | 默认值 | 说明 |
| -------- | -------- | ------ | ---------------- |
| group_id | int64 | | 群号 |
| content | string | | 公告内容 |
| image | string | | 图片可选支持base64、http(s)和本地路径 |
| 字段名 | 数据类型 | 默认值 | 说明 |
| -------- | -------- | ------ | ------------------------------------------- |
| group_id | int64 | | 群号 |
| content | string | | 公告内容 |
| image | string | | 图片可选支持base64、http(s)和本地路径 |
### 响应
@ -287,11 +287,11 @@ data 的响应内容为 json 数组,每个元素内容如下:
#### images
| 字段 | 类型 | 说明 |
| ------ | ------ | -------- |
| height | string | 图片高度 |
| width | string | 图片宽度 |
| id | string | 图片ID可用`https://gdynamic.qpic.cn/gdynamic/{id}/628`获取 |
| 字段 | 类型 | 说明 |
| ------ | ------ | ------------------------------------------------------------ |
| height | string | 图片高度 |
| width | string | 图片宽度 |
| id | string | 图片ID可用`https://gdynamic.qpic.cn/gdynamic/{id}/628`获取 |
## 群组踢人
@ -360,9 +360,9 @@ data 的响应内容为 json 数组,每个元素内容如下:
### 参数
| 字段 | 类型 | 必须 | 说明 |
| -------- | ----- | ---- | ----- |
| group_id | int64 | 是 | 群号 |
| 字段 | 类型 | 必须 | 说明 |
| -------- | ----- | ---- | ---- |
| group_id | int64 | 是 | 群号 |
### 响应
@ -370,10 +370,10 @@ data 的响应内容为 json 数组,每个元素内容如下:
@tab 响应字段
| 字段 | 类型 | 说明 |
| -------- | ------ | ----- |
| user_id | int64 | QQ 号 |
| time | int64 | 禁言结束时间 |
| 字段 | 类型 | 说明 |
| ------- | ----- | ------------ |
| user_id | int64 | QQ 号 |
| time | int64 | 禁言结束时间 |
@tab 响应示例
@ -403,9 +403,9 @@ data 的响应内容为 json 数组,每个元素内容如下:
### 参数
| 字段 | 类型 | 必须 | 说明 |
| -------- | ----- | ---- | ----- |
| group_id | int64 | 是 | 群号 |
| 字段 | 类型 | 必须 | 说明 |
| -------- | ----- | ---- | ---- |
| group_id | int64 | 是 | 群号 |
### 响应
@ -413,11 +413,11 @@ data 的响应内容为 json 数组,每个元素内容如下:
@tab 响应字段
| 字段 | 类型 | 说明 |
| -------- | ------ | ----- |
| can_at_all | bool | 是否可以 @全体成员 |
| remain_at_all_count_for_group | int32 | 群内所有管理当天剩余 @全体成员 次数 |
| remain_at_all_count_for_uin | int32 | Bot 当天剩余 @全体成员 次数 |
| 字段 | 类型 | 说明 |
| ----------------------------- | ----- | ----------------------------------- |
| can_at_all | bool | 是否可以 @全体成员 |
| remain_at_all_count_for_group | int32 | 群内所有管理当天剩余 @全体成员 次数 |
| remain_at_all_count_for_uin | int32 | Bot 当天剩余 @全体成员 次数 |
@tab 响应示例
@ -448,13 +448,13 @@ data 的响应内容为 json 数组,每个元素内容如下:
### 参数
| 字段 | 类型 | 必须 | 说明 |
| -------- | ----- | ---- | ----- |
| group_id | int64 | 是 | 群号 |
| msg_id | int32 | 是 | 消息ID |
| face_id | int32 | 是 | 表情ID |
| is_set | bool | 否 | 是否设置或取消评论 |
| 字段 | 类型 | 必须 | 说明 |
| -------- | ----- | ---- | ------------------ |
| group_id | int64 | 是 | 群号 |
| msg_id | int32 | 是 | 消息ID |
| face_id | int32 | 是 | 表情ID |
| is_set | bool | 否 | 是否设置或取消评论 |
### 响应
该接口将返回处理结果,其中 `data` 字段无数据。。
该接口将返回处理结果,其中 `data` 字段无数据。。

View File

@ -77,9 +77,9 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------ |
| guild_id | uint64 | 频道ID |
### 响应示例
@ -113,10 +113,10 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| refresh | bool | 是否刷新数据,默认`false` |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------------------------- |
| guild_id | uint64 | 频道ID |
| refresh | bool | 是否刷新数据,默认`false` |
### 响应示例
@ -250,12 +250,12 @@ icon: user-group
#### 已知子频道类型列表
| 类型 | 说明 |
|------|------|
| 1 | 文字频道 |
| 2 | 语音频道 |
| 5 | 直播频道 |
| 7 | 主题频道 |
| 类型 | 说明 |
| ---- | -------- |
| 1 | 文字频道 |
| 2 | 语音频道 |
| 5 | 直播频道 |
| 7 | 主题频道 |
## 获取频道成员列表
@ -267,12 +267,12 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| next_token | string | 不提供则从首页开始获取 |
| all | bool | 是否一次性获取完所有成员,默认`false` |
| refresh | bool | 是否刷新数据,默认`false` |
| 字段 | 类型 | 说明 |
| ---------- | ------ | ------------------------------------- |
| guild_id | uint64 | 频道ID |
| next_token | string | 不提供则从首页开始获取 |
| all | bool | 是否一次性获取完所有成员,默认`false` |
| refresh | bool | 是否刷新数据,默认`false` |
### 响应示例
@ -313,10 +313,10 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| user_id | uint64 | 成员`tinyId` |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------------ |
| guild_id | uint64 | 频道ID |
| user_id | uint64 | 成员`tinyId` |
### 响应示例
@ -337,171 +337,73 @@ icon: user-group
"permission": [
{
"root_id": 10000,
"child_ids": [
10001,
10002,
10003,
10004,
10005
]
"child_ids": [10001, 10002, 10003, 10004, 10005]
},
{
"root_id": 20000,
"child_ids": [
20001,
20002,
20003,
20004,
20005,
20006,
20007,
20008,
20009,
20010,
20011,
20012,
20013,
20014,
20015,
20018,
20019
20001, 20002, 20003, 20004, 20005, 20006, 20007, 20008, 20009, 20010, 20011, 20012,
20013, 20014, 20015, 20018, 20019
]
},
{
"root_id": 30000,
"child_ids": [
30001,
30002,
30003,
30004,
30005,
30006,
30007,
90002
]
"child_ids": [30001, 30002, 30003, 30004, 30005, 30006, 30007, 90002]
},
{
"root_id": 40000,
"child_ids": [
40001,
40002
]
"child_ids": [40001, 40002]
},
{
"root_id": 50000,
"child_ids": [
50001
]
"child_ids": [50001]
},
{
"root_id": 60000,
"child_ids": [
60001
]
"child_ids": [60001]
},
{
"root_id": 70000,
"child_ids": [
70001,
70002,
70003,
70004,
70005,
70006,
70007
]
"child_ids": [70001, 70002, 70003, 70004, 70005, 70006, 70007]
},
{
"root_id": 80000,
"child_ids": [
80001,
80002
]
"child_ids": [80001, 80002]
},
{
"root_id": 90000,
"child_ids": [
90001,
30003
]
"child_ids": [90001, 30003]
},
{
"root_id": 100000,
"child_ids": [
100001,
100002
]
"child_ids": [100001, 100002]
},
{
"root_id": 1,
"child_ids": [
1001,
1002,
1003,
1004,
1005
]
"child_ids": [1001, 1002, 1003, 1004, 1005]
},
{
"root_id": 2,
"child_ids": [
2001,
2002,
2003,
2004,
2005,
2006,
2007,
2008,
2009,
2010,
2011,
2012,
2013,
2014,
2015,
2016,
2017,
2018
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
2015, 2016, 2017, 2018
]
},
{
"root_id": 3,
"child_ids": [
3001,
3002,
3003,
3004,
3005,
3006
]
"child_ids": [3001, 3002, 3003, 3004, 3005, 3006]
},
{
"root_id": 4,
"child_ids": [
4001,
4002,
4003,
4004,
4005,
4006,
4007,
4008
]
"child_ids": [4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008]
},
{
"root_id": 5,
"child_ids": [
5001
]
"child_ids": [5001]
},
{
"root_id": 6,
"child_ids": [
6001,
6002,
6003
]
"child_ids": [6001, 6002, 6003]
}
],
"type": 0,
@ -531,14 +433,14 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| channel_id | uint64 | 子频道ID |
| message | string or `Message` | 消息体可为消息段或者CQ码 |
| auto_escape | bool | 是否解析CQ码`true`为不解析,默认`false` |
| retry_cnt | int32 | 消息发送失败,最大重试次数,默认`3` |
| recall_duration | int64 | 自动撤回间隔(毫秒),默认不撤回 |
| 字段 | 类型 | 说明 |
| --------------- | ------------------- | ----------------------------------------- |
| guild_id | uint64 | 频道ID |
| channel_id | uint64 | 子频道ID |
| message | string or `Message` | 消息体可为消息段或者CQ码 |
| auto_escape | bool | 是否解析CQ码`true`为不解析,默认`false` |
| retry_cnt | int32 | 消息发送失败,最大重试次数,默认`3` |
| recall_duration | int64 | 自动撤回间隔(毫秒),默认不撤回 |
### 响应示例
@ -568,10 +470,10 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| from | uint32 | 开始获取的位置 |
| 字段 | 类型 | 说明 |
| -------- | ------ | -------------- |
| guild_id | uint64 | 频道ID |
| from | uint32 | 开始获取的位置 |
### 响应示例
@ -587,9 +489,9 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------ |
| guild_id | uint64 | 频道ID |
### 响应示例
@ -630,10 +532,10 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| role_id | uint64 | 角色ID |
| 字段 | 类型 | 说明 |
| -------- | ------ | ------ |
| guild_id | uint64 | 频道ID |
| role_id | uint64 | 角色ID |
### 响应
@ -649,17 +551,16 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| role_id | uint64 | 角色ID |
| set | bool | 设置还是移除,默认`false` |
| users | string or `vector<int64>` | 批量设置用户s |
| user_id | int64 | 单独设置某个用户的身份 |
| 字段 | 类型 | 说明 |
| -------- | ------------------------- | ------------------------- |
| guild_id | uint64 | 频道ID |
| role_id | uint64 | 角色ID |
| set | bool | 设置还是移除,默认`false` |
| users | string or `vector<int64>` | 批量设置用户s |
| user_id | int64 | 单独设置某个用户的身份 |
> 如果users是字符串那么其格式为`123456,6656656526,2652656`,以逗号分隔每个`tinyId`
## 修改频道角色
修改频道角色,暂不支持设置权限,如有需要请提交`issue`
@ -670,12 +571,12 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| role_id | uint64 | 角色ID |
| name | string | 名称 |
| color | int64 | 颜色ARGB |
| 字段 | 类型 | 说明 |
| -------- | ------ | -------- |
| guild_id | uint64 | 频道ID |
| role_id | uint64 | 角色ID |
| name | string | 名称 |
| color | int64 | 颜色ARGB |
### 响应
@ -691,18 +592,17 @@ icon: user-group
### 参数
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| guild_id | uint64 | 频道ID |
| name | string | 名称 |
| color | int64 | 颜色ARGB |
| initial_users | vector<int64> | 默认身份组成员 |
| 字段 | 类型 | 说明 |
| ------------- | --------------- | -------------- |
| guild_id | uint64 | 频道ID |
| name | string | 名称 |
| color | int64 | 颜色ARGB |
| initial_users | `vector<int64>` | 默认身份组成员 |
> 如果是`HTTP`请求,则`initial_users`使用字符串,以`,`为用户`tiny_id`分隔。
### 响应
| 字段 | 类型 | 说明 |
|---------|--------|--------|
| role_id | uint64 | 角色ID |
| 字段 | 类型 | 说明 |
| ------- | ------ | ------ |
| role_id | uint64 | 角色ID |

View File

@ -17,12 +17,12 @@ icon: comment
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ----------- | ----------------------------- | ---- | ---------------- |
| user_id | int64 | 是 | QQ 号 |
| message | `string` / `object` / `array` | 是 | 消息内容 |
| auto_escape | bool | 否 | 是否解析 CQ 码true为不解析。 |
| recall_duration | int64 | 否 | 自动撤回时间间隔(毫秒) |
| 字段 | 类型 | 必须 | 说明 |
| --------------- | ----------------------------- | ---- | -------------------------------- |
| user_id | int64 | 是 | QQ 号 |
| message | `string` / `object` / `array` | 是 | 消息内容 |
| auto_escape | bool | 否 | 是否解析 CQ 码true为不解析。 |
| recall_duration | int64 | 否 | 自动撤回时间间隔(毫秒) |
message格式可为[消息段](../message/format.md#%E6%B6%88%E6%81%AF%E6%AE%B5)object或[消息段组合](../message/format.md#%E7%BB%84%E5%90%88)array
@ -43,12 +43,12 @@ message格式可为[消息段](../message/format.md#%E6%B6%88%E6%81%AF%E6%AE%B5)
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ----------- | ----------------------------- | ---- | ---------------- |
| group_id | int64 | 是 | 群号 |
| message | `string` / `object` / `array` | 是 | 消息内容 |
| auto_escape | bool | 否 | 是否解析 CQ 码true为不解析。 |
| recall_duration | int64 | 否 | 自动撤回时间间隔(毫秒) |
| 字段 | 类型 | 必须 | 说明 |
| --------------- | ----------------------------- | ---- | -------------------------------- |
| group_id | int64 | 是 | 群号 |
| message | `string` / `object` / `array` | 是 | 消息内容 |
| auto_escape | bool | 否 | 是否解析 CQ 码true为不解析。 |
| recall_duration | int64 | 否 | 自动撤回时间间隔(毫秒) |
message格式同`/send_private_msg`
@ -69,15 +69,15 @@ message格式同`/send_private_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ------------ | ----------------------------- | ---- | ---------------- |
| message_type | string | 是 | 消息类型 |
| user_id | int64 | 是 | QQ 号 |
| group_id | int64 | 是 | 群号 |
| discuss_id | int64 | 是 | 讨论组号 |
| message | `string` / `object` / `array` | 是 | 消息内容 |
| auto_escape | bool | 否 | 是否解析 CQ 码true为不解析。 |
| recall_duration | int64 | 否 | 自动撤回时间间隔(毫秒) |
| 字段 | 类型 | 必须 | 说明 |
| --------------- | ----------------------------- | ---- | -------------------------------- |
| message_type | string | 是 | 消息类型 |
| user_id | int64 | 是 | QQ 号 |
| group_id | int64 | 是 | 群号 |
| discuss_id | int64 | 是 | 讨论组号 |
| message | `string` / `object` / `array` | 是 | 消息内容 |
| auto_escape | bool | 否 | 是否解析 CQ 码true为不解析。 |
| recall_duration | int64 | 否 | 自动撤回时间间隔(毫秒) |
message格式同`/send_private_msg`
@ -106,17 +106,17 @@ message格式同`/send_private_msg`
### 响应
| 字段 | 类型 | 说明 |
| ------------ | ------------------------- | ---------- |
| 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 |
| 字段 | 类型 | 说明 |
| ------------ | ------------------------- | -------------------------------------- |
| 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`!
@ -156,33 +156,33 @@ message格式同`/send_private_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- | ----- | ---- | ------- |
| message_type | string | 是 | 消息 类型 |
| user_id | int64 | 否 | 私聊QQ |
| group_id | int64 | 否 | 群号 |
| count | int32 | 否 | 获取的消息数量默认为20|
| message_seq | int32 | 否 | 起始消息的message_id默认为0表示从最后一条发言往前 |
| 字段 | 类型 | 必须 | 说明 |
| ------------ | ------ | ---- | ------------------------------------------------------- |
| message_type | string | 是 | 消息 类型 |
| user_id | int64 | 否 | 私聊QQ |
| group_id | int64 | 否 | 群号 |
| count | int32 | 否 | 获取的消息数量默认为20 |
| message_seq | int32 | 否 | 起始消息的message_id默认为0表示从最后一条发言往前 |
### 响应
| 字段 | 类型 | 说明 |
| ------------ | ------------------------- | ---------- |
| messages | Message[] | 消息集 |
| 字段 | 类型 | 说明 |
| -------- | --------- | ------ |
| 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 |
| 字段 | 类型 | 说明 |
| ------------ | ------------------------- | -------------------------------------- |
| 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`!
@ -194,17 +194,17 @@ message格式同`/send_private_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- |-------| ---- |---------------------------------|
| group_id | int64 | 是 | 群号 |
| count | int32 | 否 | 获取的消息数量默认为20 |
| message_seq | int32 | 否 | 起始消息的message_id默认为0表示从最后一条发言往前 |
| 字段 | 类型 | 必须 | 说明 |
| ----------- | ----- | ---- | ------------------------------------------------------- |
| group_id | int64 | 是 | 群号 |
| count | int32 | 否 | 获取的消息数量默认为20 |
| message_seq | int32 | 否 | 起始消息的message_id默认为0表示从最后一条发言往前 |
### 响应
| 字段 | 类型 | 说明 |
| ------------ | ------------------------- | ---------- |
| messages | Message[] | 消息集 |
| 字段 | 类型 | 说明 |
| -------- | --------- | ------ |
| messages | Message[] | 消息集 |
## 清除本地缓存消息
@ -216,11 +216,11 @@ message格式同`/send_private_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- | ----- | ---- | ------- |
| 字段 | 类型 | 必须 | 说明 |
| ------------ | ------ | ---- | --------- |
| message_type | string | 是 | 消息 类型 |
| user_id | int64 | 否 | 私聊QQ |
| group_id | int64 | 否 | 群号 |
| user_id | int64 | 否 | 私聊QQ |
| group_id | int64 | 否 | 群号 |
### 响应
@ -236,9 +236,9 @@ message格式同`/send_private_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- | ----- | ---- | ------- |
| id | string | 是 | 消息资源ID卡片消息里面的resId |
| 字段 | 类型 | 必须 | 说明 |
| ---- | ------ | ---- | --------------------------------- |
| id | string | 是 | 消息资源ID卡片消息里面的resId |
> 由于QQ内部错误该接口可能导致闪退等问题的出现一般是闪退一次后再次重新启动便不再闪退但是可能无法获取合并转发的内容
@ -289,10 +289,10 @@ message格式同`/send_private_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- | ----- | ---- | ------- |
| group_id | int64 | 是 | 发送到的目标群号 |
| messages | foward message[] | 合并转发消息集 |
| 字段 | 类型 | 必须 | 说明 |
| -------- | ---------------- | -------------- | ---------------- |
| group_id | int64 | 是 | 发送到的目标群号 |
| messages | foward message[] | 合并转发消息集 | |
### 响应
@ -320,18 +320,18 @@ message格式同`/send_private_msg`
```json
[
{
"type": "node",
"data": {
"id": "123"
}
},
{
"type": "node",
"data": {
"id": "456"
}
}
{
"type": "node",
"data": {
"id": "123"
}
},
{
"type": "node",
"data": {
"id": "456"
}
}
]
```
@ -343,25 +343,25 @@ Shamrock 不同于 `go-cqhttp` 消息节点无法自定义发送者QQ号
```json
[
{
"type": "node",
"data": {
"content": [
{
"type": "text",
"data": {
"text": "测试消息1"
}
}
]
}
},
{
"type": "node",
"data": {
"content": "[CQ:image,file=xxxxx]测试消息2"
}
}
{
"type": "node",
"data": {
"content": [
{
"type": "text",
"data": {
"text": "测试消息1"
}
}
]
}
},
{
"type": "node",
"data": {
"content": "[CQ:image,file=xxxxx]测试消息2"
}
}
]
```
@ -369,18 +369,18 @@ Shamrock 不同于 `go-cqhttp` 消息节点无法自定义发送者QQ号
```json
[
{
"type": "node",
"data": {
"content": "我是自定义消息",
}
},
{
"type": "node",
"data": {
"id": "123"
}
{
"type": "node",
"data": {
"content": "我是自定义消息"
}
},
{
"type": "node",
"data": {
"id": "123"
}
}
]
```
@ -394,10 +394,10 @@ Shamrock 不同于 `go-cqhttp` 消息节点无法自定义发送者QQ号
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- | ----- | ---- | ------- |
| user_id | int64 | 是 | 发送到的目标QQ |
| messages | foward message[] | 合并转发消息集 |
| 字段 | 类型 | 必须 | 说明 |
| -------- | ---------------- | -------------- | -------------- |
| user_id | int64 | 是 | 发送到的目标QQ |
| messages | foward message[] | 合并转发消息集 | |
### 响应

View File

@ -235,8 +235,8 @@ icon: feather-alt
### 参数
| 字段 | 类型 | 必须 | 说明 |
|--------|--------|-----|----------|
| pic | string | 是 | 图片base64 |
| sender | int64 | 是 | QQ |
| 字段 | 类型 | 必须 | 说明 |
| ------ | ------ | ---- | ---------------- |
| pic | string | 是 | 图片base64 |
| sender | int64 | 是 | QQ |
| troop | int64 | 是 | 图片发送到的群聊 |

View File

@ -17,17 +17,17 @@ icon: video-camera
### 参数
| 字段 | 类型 | 必须 | 说明 |
|------|--------|-----|--------|
| 字段 | 类型 | 必须 | 说明 |
| ---- | ------ | ---- | -------- |
| file | string | 是 | 文件 MD5 |
### 响应
| 字段 | 类型 | 说明 |
|----------|--------|--------|
| size | int64 | 文件大小 |
| url | string | 文件 URL |
| filename | string | 文件 名称 |
| 字段 | 类型 | 说明 |
| -------- | ------ | --------- |
| size | int64 | 文件大小 |
| url | string | 文件 URL |
| filename | string | 文件 名称 |
## 检查是否可以发送图片 <Badge text="未实现" type="danger" />
@ -65,10 +65,10 @@ icon: video-camera
### 响应
| 字段 | 类型 | 说明 |
| -------- | --------------- | ------- |
| texts | List<[TextDetection](#textDetection)> | OCR结果 |
| language | string | 语言 |
| 字段 | 类型 | 说明 |
| -------- | ------------------------------------- | ------- |
| texts | List<[TextDetection](#textdetection)> | OCR结果 |
| language | string | 语言 |
#### TextDetection
@ -130,18 +130,16 @@ icon: video-camera
### 参数
| 字段名 | 数据类型 | 默认值 | 说明 |
| ------------ | -------- | ------ | ------------------------------------------------------------ |
| 字段名 | 数据类型 | 默认值 | 说明 |
| ---------- | -------- | ------ | ------------------------------------------------------------------------------------ |
| file | string | - | 收到的语音文件名(消息段的 `file` 参数), 如 `0B38145AA44505000B38145AA4450500.silk` |
| out_format | string | - | 要转换到的格式, 目前支持 `mp3``amr``wma``m4a``spx``ogg``wav``flac` |
| out_format | string | - | 要转换到的格式, 目前支持 `mp3``amr``wma``m4a``spx``ogg``wav``flac` |
### 响应
| 字段名 | 数据类型 | 说明 |
| ------ | -------- | ------------------------------------------------------------ |
| file | string | 转换后的语音文件路径, 如 `/home/somebody/cqhttp/data/record/0B38145AA44505000B38145AA4450500.mp3` |
| 字段名 | 数据类型 | 说明 |
| ------ | -------- | ------------------------------------------------------------------------------------------------- |
| file | string | 转换后的语音文件路径, 如 `/home/somebody/cqhttp/data/record/0B38145AA44505000B38145AA4450500.mp3` |
## 获取文件 <Badge text="未实现" type="danger" />

View File

@ -13,9 +13,9 @@ icon: feather-alt
## 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| user_id | int64 | 是 | QQ | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------- | ----- | ---- | ---- | ------ |
| user_id | int64 | 是 | QQ | |
### 响应
@ -47,7 +47,6 @@ icon: feather-alt
2.仅发送文件base64Shamrock解码后直接转存为文件
url和base64至少一个不能为空
同时发送url和base64时使用url
@ -58,13 +57,13 @@ url和base64至少一个不能为空
### 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| url | string | 否 | 下载地址 | |
| name | string | | 文件名称 | 文件md5 |
| base64 | string | 否 | 文件base64内容 | |
| thread_cnt | int32 | 否 | 下载的线程数量 | |
| headers | `string` or `array` | 否 | 请求头 | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ---------- | ------------------- | ---- | -------------- | ------- |
| url | string | 否 | 下载地址 | |
| name | string | 否 | 文件名称 | 文件md5 |
| base64 | string | 否 | 文件base64内容 | |
| thread_cnt | int32 | 否 | 下载的线程数量 | |
| headers | `string` or `array` | 否 | 请求头 | |
#### headers为string时示例
@ -143,8 +142,8 @@ url和base64至少一个不能为空
### 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ----- | ---- | -------------------- | ------ |
| start | int32 | 否 | 开始的行 | |
| recent | bool | 否 | 是否只显示最近的日志 | false |
@ -158,10 +157,10 @@ url和base64至少一个不能为空
### 参数
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ------ | ------- | ---- | -------------------- | ------ |
| cmd | array 或 string | 是 | 命令内容 | |
| dir | string | 是 | 当前所处的目录 | |
| 字段 | 类型 | 必须 | 说明 | 默认值 |
| ---- | --------------- | ---- | -------------- | ------ |
| cmd | array 或 string | 是 | 命令内容 | |
| dir | string | 是 | 当前所处的目录 | |
## 关闭Shamrock

View File

@ -42,21 +42,3 @@ icon: users
### 响应
该接口将返回处理结果,其中 `data` 字段无数据。
## 撤回消息
该接口用于撤回消息。
### API 端点
`/delete_msg`
### 参数
| 字段 | 类型 | 必须 | 说明 |
| ---------- | ------- | ---- | ------ |
| message_id | int32 | 是 | 消息ID |
### 响应
该接口将返回处理结果,其中 `data` 字段无数据。。

View File

@ -24,11 +24,11 @@ icon: database
### PostType
| 类型 | 说明 |
| ---------------- | -------- |
| message | 收到消息 |
| 类型 | 说明 |
| ------------ | -------- |
| message | 收到消息 |
| message_sent | 发送消息 |
| notice | 通知 |
| notice | 通知 |
| request | 请求 |
### MessageType
@ -103,20 +103,20 @@ icon: database
如果是频道消息,则会包含以下字段:
| 字段 | 类型 | 说明 |
| ----- | ------ | ------------ |
| tiny_id | string | 发送者TinyId |
| 字段 | 类型 | 说明 |
| ------- | ------ | ------------ |
| tiny_id | string | 发送者TinyId |
### Post_Message_TempSource
| 类型 | 来源 |
|------|------|
| 0 | 群聊 |
| 1 | QQ咨询 |
| 2 | 查找 |
| 3 | QQ电影 |
| 4 | 热聊 |
| 6 | 验证消息 |
| 7 | 多人聊天 |
| 8 | 约会 |
| 9 | 通讯录 |
| 类型 | 来源 |
| ---- | -------- |
| 0 | 群聊 |
| 1 | QQ咨询 |
| 2 | 查找 |
| 3 | QQ电影 |
| 4 | 热聊 |
| 6 | 验证消息 |
| 7 | 多人聊天 |
| 8 | 约会 |
| 9 | 通讯录 |

View File

@ -10,20 +10,20 @@ icon: comment
## 消息事件
| 字段 | 类型 | 说明 |
| ------------ | ------ | ------------- |
| message_type | string | 消息类型 |
| sub_type | string | 消息子类型 |
| message_id | int64 | 消息 ID |
| user_id | int64 | 发送者 QQ 号 |
| message | object | 消息内容 |
| raw_message | string | CQ 码格式消息 |
| font | int32 | 字体 |
| sender | object | 发送人信息 |
| group_id | int64 | 群号 |
| target_id | int64 | 消息目标(私聊) |
| temp_source | int32 | 临时聊天来源(私聊) |
| peer_id | int64 | 消息接收者群聊是群号私聊时是目标QQ |
| 字段 | 类型 | 说明 |
| ------------ | ------ | -------------------------------------- |
| message_type | string | 消息类型 |
| sub_type | string | 消息子类型 |
| message_id | int64 | 消息 ID |
| user_id | int64 | 发送者 QQ 号 |
| message | object | 消息内容 |
| raw_message | string | CQ 码格式消息 |
| font | int32 | 字体 |
| sender | object | 发送人信息 |
| group_id | int64 | 群号 |
| target_id | int64 | 消息目标(私聊) |
| temp_source | int32 | 临时聊天来源(私聊) |
| peer_id | int64 | 消息接收者群聊是群号私聊时是目标QQ |
## 私聊消息
@ -45,11 +45,11 @@ icon: comment
Shamrock 提供了快速回复的功能,可以在收到消息时快速回复消息。
| 字段 | 类型 | 说明 |
| ----------- | ------ | ------------ |
| reply | string | 回复内容 |
| auto_escape | bool | 是否自动转义 |
| auto_reply | bool | 是否自动回复到消息 |
| 字段 | 类型 | 说明 |
| ----------- | ------ | ------------------ |
| reply | string | 回复内容 |
| auto_escape | bool | 是否自动转义 |
| auto_reply | bool | 是否自动回复到消息 |
## 快速操作

View File

@ -37,27 +37,27 @@ icon: bell
`notice_type``group_increase` 时,表示收到了群组成员增加事件。
| 字段 | 类型 | 说明 |
| ----------- | ------ | ---------------------- |
| group_id | int64 | 群号 |
| user_id | int64 | 新增成员 QQ |
| operator_id | int64 | 操作者 QQ 号 |
| operator_uid | string | 操作者 UID |
| user_uid | string | 新成员 UID |
| sub_type | string | 子类型(approve/invite) |
| 字段 | 类型 | 说明 |
| ------------ | ------ | ---------------------- |
| group_id | int64 | 群号 |
| user_id | int64 | 新增成员 QQ |
| operator_id | int64 | 操作者 QQ 号 |
| operator_uid | string | 操作者 UID |
| user_uid | string | 新成员 UID |
| sub_type | string | 子类型(approve/invite) |
## 群组成员减少
`notice_type``group_decrease` 时,表示收到了群组成员减少事件。
| 字段 | 类型 | 说明 |
| ----------- | ------ | -------------------------- |
| group_id | int64 | 群号 |
| user_id | int64 | 减少成员 QQ |
| operator_id | int64 | 操作者 QQ 号 |
| operator_uid | string | 操作者 UID |
| user_uid | string | 新成员 UID |
| sub_type | string | 子类型(leave/kick/kick_me) |
| 字段 | 类型 | 说明 |
| ------------ | ------ | -------------------------- |
| group_id | int64 | 群号 |
| user_id | int64 | 减少成员 QQ |
| operator_id | int64 | 操作者 QQ 号 |
| operator_uid | string | 操作者 UID |
| user_uid | string | 新成员 UID |
| sub_type | string | 子类型(leave/kick/kick_me) |
## 群组管理员变动
@ -73,42 +73,42 @@ icon: bell
`notice_type``group_upload` 时,表示收到了群文件上传事件。
| 字段 | 类型 | 说明 |
| -------- | ------ | --------- |
| group_id | int64 | 群号 |
| user_id | int64 | 上传者 QQ |
| file | object | 群文件信息 |
| 字段 | 类型 | 说明 |
| -------- | ------ | ---------- |
| group_id | int64 | 群号 |
| user_id | int64 | 上传者 QQ |
| file | object | 群文件信息 |
### 群文件信息结构体
| 字段名 | 数据类型 | 说明 |
| ------- | ------- | ---- |
| id | string | 文件 ID |
| name | string | 文件名 |
| size | int64 | 文件大小 ( 字节数 ) |
| busid | int64 | busid ( 目前不清楚有什么作用 ) |
| url | string | 下载地址 |
| 字段名 | 数据类型 | 说明 |
| ------ | -------- | ------------------------------ |
| id | string | 文件 ID |
| name | string | 文件名 |
| size | int64 | 文件大小 ( 字节数 ) |
| busid | int64 | busid ( 目前不清楚有什么作用 ) |
| url | string | 下载地址 |
## 私聊文件上传
`notice_type``private_upload` 时,表示收到了群文件上传事件。
| 字段 | 类型 | 说明 |
| -------- | ------ | --------- |
| user_id | int64 | 上传者 QQ |
| sender | int64 | 上传者 QQ |
| private_file | object | 私聊文件信息 |
| 字段 | 类型 | 说明 |
| ------------ | ------ | ------------ |
| user_id | int64 | 上传者 QQ |
| sender | int64 | 上传者 QQ |
| private_file | object | 私聊文件信息 |
### 私聊文件信息结构体
| 字段名 | 数据类型 | 说明 |
| ------- | ------- | ---- |
| id | string | 文件 ID |
| name | string | 文件名 |
| size | int64 | 文件大小 ( 字节数 ) |
| url | string | 下载地址 |
| sub_id | string | 子文件ID |
| exppire | int64 | 文件过期时间 |
| 字段名 | 数据类型 | 说明 |
| ------- | -------- | ------------------- |
| id | string | 文件 ID |
| name | string | 文件名 |
| size | int64 | 文件大小 ( 字节数 ) |
| url | string | 下载地址 |
| sub_id | string | 子文件ID |
| exppire | int64 | 文件过期时间 |
## 群禁言
@ -117,8 +117,8 @@ icon: bell
| 字段 | 类型 | 说明 |
| ----------- | ------ | -------------------- |
| group_id | int64 | 群号 |
| user_id | int64 | 被禁言成员 QQ |
| operator_id | int64 | 操作者 QQ |
| user_id | int64 | 被禁言成员 QQ |
| operator_id | int64 | 操作者 QQ |
| duration | int64 | 禁言时长(秒) |
| sub_type | string | 子类型(ban/lift_ban) |
@ -183,22 +183,21 @@ icon: bell
`notice_type``notify``sub_type``poke` 时,表示收到了头像戳一戳事件。
| 字段 | 类型 | 说明 |
| --------- | ----- | ---------------- |
| user_id | int64 | 发送者 QQ |
| sender_id | int64 | 好友 QQ (仅私聊) |
| group_id | int64 | 群号(仅群聊) |
| target_id | int64 | 被戳者 QQ |
| poke_detail | PokeDetail | 戳一戳的详细信息 |
| 字段 | 类型 | 说明 |
| ----------- | ---------- | ---------------- |
| user_id | int64 | 发送者 QQ |
| sender_id | int64 | 好友 QQ (仅私聊) |
| group_id | int64 | 群号(仅群聊) |
| target_id | int64 | 被戳者 QQ |
| poke_detail | PokeDetail | 戳一戳的详细信息 |
#### PokeDetail
| 字段 | 类型 | 说明 |
| -------- | ------ | ----- |
| action | string | 操作名称,如“戳了戳” |
| suffix | string | 后缀,未设置则未空 |
| action_img_url | string | 操作图标 |
### PokeDetail
| 字段 | 类型 | 说明 |
| -------------- | ------ | -------------------- |
| action | string | 操作名称,如“戳了戳” |
| suffix | string | 后缀,未设置则未空 |
| action_img_url | string | 操作图标 |
## 群红包运气王 <Badge text="未实现" type="danger" />

View File

@ -4,7 +4,7 @@ icon: cog
---
::: tip 提示
Shamrock 提供了一个图形化的配置界面,可进行简单的配置操作。
`Shamrock` 提供了一个图形化的配置界面,可进行简单的配置操作。
大部分配置简单易于理解,我们仅仅介绍部分难于理解的配置选项。
:::
@ -12,75 +12,74 @@ Shamrock 提供了一个图形化的配置界面,可进行简单的配置操
### 强制平板模式
让 QQ 客户端 识别设备为平板,使其账号可在安卓和平板同时在线。
`QQ 客户端` 识别设备为平板,使其账号可在安卓和平板同时在线。
::: tip 提示
除了 WebSocket 相关功能其他功能的配置进行修改立即生效无需重新启动QQ。
不建议使用 CQ 码,因为在新一代机器人设计理念中,该操作过于落后,可能会出现许多问题。
除了 `WebSocket` 相关功能,其他功能的配置进行修改立即生效,无需重新启动 `QQ`
不建议使用 `CQ 码`,因为在新一代机器人设计理念中,该操作过于落后,可能会出现许多问题。
:::
::: warning 注意
被动 WebSocket 在断线之后,每隔 5 秒尝试重新连接。
被动 `WebSocket` 在断线之后,每隔 `5` 秒尝试重新连接。
:::
## 目录定义
- 内部存储目录: `/storage/emulated/0` # `/sdcard`
- QQ 主目录: `内部存储目录 + /Android/data/com.tencent.mobileqq`
- Shamrock 主目录: `QQ主目录 + /Tencent/Shamrock`
- 内部存储目录: `/storage/emulated/0``/sdcard`
- `QQ` 主目录: `内部存储目录 + /Android/data/com.tencent.mobileqq`
- `Shamrock` 主目录: `QQ主目录 + /Tencent/Shamrock`
## 配置文件
将下方 JSON 文件创建在 `Shamrock 主目录 + /config.json`
请确保 JSON 格式正确。
将下方 `JSON` 文件创建在 `Shamrock 主目录 + /config.json`
请确保 `JSON` 格式正确。
```json5
{
"rules": {
"group_rule": {
"black_list": [12345678], // 如果群号是`12345678`就跳过了哦!
"white_list": []
},
"private_rule": {
"black_list": [12345678],
"white_list": []
}
rules: {
group_rule: {
black_list: [12345678], // 如果群号是`12345678`就跳过了哦!
white_list: []
},
"default_token": null,
"active_websocket": {
"port": 5800, // 主动WS监听的端口
"token": "aaaa1111,bbbb1111", // 同时允许两个token可使用|或,作为分割
"tokens": ["aaaa1111", "aaaa2222"], // 使用tokens实现多token优先级比上面那个高
"heartbeat_interval": 15000 // 设置为null则默认15000毫秒作为心跳间隔0则为无心跳
private_rule: {
black_list: [12345678],
white_list: []
}
},
default_token: null,
active_websocket: {
port: 5800, // 主动WS监听的端口
token: 'aaaa1111,bbbb1111', // 同时允许两个token可使用|或,作为分割
tokens: ['aaaa1111', 'aaaa2222'], // 使用tokens实现多token优先级比上面那个高
heartbeat_interval: 15000 // 设置为null则默认15000毫秒作为心跳间隔0则为无心跳
},
passive_websocket: [
{
address: 'ws://xxxxxxxxx' // 这里是个例子如果默认tk存在则使用默认token鉴权
},
"passive_websocket": [
{
"address": "ws://xxxxxxxxx" // 这里是个例子如果默认tk存在则使用默认token鉴权
},
{
"address": "ws://aaaaaaaaa",
"token": "aaa666", // 提供了特例化token将不使用默认token
"heartbeat_interval": 15000 // 设置为null则默认15000毫秒作为心跳间隔0则为无心跳
}
],
"allow-temp-session": false // 是否允许临时消息
{
address: 'ws://aaaaaaaaa',
token: 'aaa666', // 提供了特例化token将不使用默认token
heartbeat_interval: 15000 // 设置为null则默认15000毫秒作为心跳间隔0则为无心跳
}
],
'allow-temp-session': false // 是否允许临时消息
}
```
| 参数名称 | 类型 | 作用 | 例子 |
|---------|------|------|-----|
| default_token | string | 默认token**HTTP接口/主被动WS** 如果未单独定义token则使用默认token | aaa123456 |
| 参数名称 | 类型 | 作用 | 例子 |
| --------------- | -------- | -------------------------------------------------------------------------------- | ----------- |
| `default_token` | `string` | 默认 `token` **HTTP接口/主被动WS** 如果未单独定义 `token` ,则使用默认 `token` | `aaa123456` |
> 记得把注释删掉哦JSON5貌似也没有完全支持呢该配置文件采用Json5标准
## WebSocket认证方法
在HTTP Upgrade请求头中添加access_token或ticket或Authorization头
`HTTP Upgrade` 请求头中添加 `access_token` `ticket` `Authorization`
例:
```
```http
GET / HTTP/1.1
Host: 192.168.3.4
Upgrade: websocket
@ -92,8 +91,8 @@ Authorization: aaaa1111
## 数据目录
大部分 Shamrock 的数据/缓存保存在 `Shamrock 主目录`
其中的日志可作为 Issue 内容,截取部分提交。
大部分 `Shamrock` 的数据/缓存保存在 `Shamrock 主目录`
其中的日志可作为 `Issue` 内容,截取部分提交。
```bash
.

View File

@ -6,29 +6,31 @@ icon: question-circle
### 支持的QQ版本
- 版本 `8.9.68``8.9.70``8.9.73``8.9.75``8.9.78``8.9.80``8.9.81``8.9.83`
- 理论上支持上述说明未提到的更高版本如遇问题请提交issue
- 理论上支持上述说明未提到的更高版本,如遇问题请提交 `issue`
### 反检测
Shamrock内部已经做了对应处理无需再进行任何操作。
`Shamrock` 内部已经做了对应处理,无需再进行任何操作。
::: warning 注意
禁止使用隐藏应用列表等其他方法对QQ隐藏Shamrock否则会出现 框架未激活 等异常。
禁止使用隐藏应用列表等其他方法对 `QQ` 隐藏 `Shamrock` ,否则会出现 `框架未激活` 等异常。
:::
### 模拟器部署成功后电脑无法访问?
部分模拟器采用的是NAT网络请使用
部分模拟器采用的是 `NAT` 网络,请使用
```shell
adb forward xxx
```
将模拟器内的端口监听转发到电脑,别和我说为什么别人的模拟器可以在外面直接访问,你的不行就不行!
> 执行这个命令前请注意adb是安卓调试桥工具包内的东西请确保你的环境中有这个玩意否则请前往谷歌官网或者刷机论坛之类的地方获取。
### 修改了配置文件,但没有生效?
Shamrock的部分配置需要重新启动QQ请确保100%杀死QQ然后在保证Shamrock存活的情况下启动QQShamrock的WebSocket相关的所有配置都需要重新启动生效。
`Shamrock` 的部分配置需要重新启动 `QQ` 请确保100%杀死QQ然后在保证 `Shamrock` 存活的情况下启动 `QQ` `Shamrock` `WebSocket` 相关的所有配置都需要重新启动生效。
::: warning 注意
如果启用了 实验功能->免死金牌 在更新配置或更新模块后需重启系统,否则更新可能不会生效。
@ -36,17 +38,17 @@ Shamrock的部分配置需要重新启动QQ请确保100%杀死QQ然后
### 某些事件/消息/操作不支持?
提交issue我们会实现。
提交 `issue` ,我们会实现。
### QQ闪退(每隔一段时间)怎么办?
勾选Shamrock的自动唤醒或者使用某些框架自带QQ死亡自动唤醒的XP, MAGISK...插件。你要习以为常这个操作请安装一些软件进行按时重启或者闪退重启同时QQ有时也会有概率杀死他自己。
勾选 `Shamrock` 的自动唤醒或者使用某些框架自带QQ死亡自动唤醒的XP, MAGISK...插件。你要习以为常这个操作请安装一些软件进行按时重启或者闪退重启同时QQ有时也会有概率杀死他自己。
### 真机息屏状态API会变慢/无响应?
断网式这个操作源自于MIUI的息屏省电请保证关闭锁屏后断开数据这个选项关闭睡眠模式。
断网式:这个操作源自于 `MIUI` `息屏省电` ,请保证关闭锁屏后断开数据,这个选项,关闭睡眠模式。
缓慢式使用某些息屏挂机软件为QQ附加一个息屏挂机状态。安装息屏挂机软件extinguish或者使用MIUI游戏助手息屏挂机。
缓慢式:使用某些息屏挂机软件,为 `QQ` 附加一个息屏挂机状态。安装息屏挂机软件 `extinguish` ,或者使用 `MIUI游戏助手` `息屏挂机`
### 模拟器部署QQ闪退
@ -60,17 +62,16 @@ QQ修复了登录响应超时的问题经测试(逍遥,夜神,MuMu)模拟器
### Docker部署支持
目前依旧在计划中主要是不太会docker。
目前依旧在计划中,主要是不太会 `docker`
### 一定要保证Shamrock主APP在后台运行吗
不需要因为OneBot服务运行在QQ主进程中无需Shamrock主进程运行(当然第一次使用Shamrock请启动Shamrock推送配置要求Shamrock和QQ都在运行)。
不需要,因为 `OneBot` 服务运行在 `QQ` 主进程中,无需 `Shamrock` 主进程运行(当然第一次使用 `Shamrock` ,请启动 `Shamrock` ,推送配置要求 `Shamrock` `QQ` 都在运行)。
### 云手机支持哪些?
目前允许在中国移动云手机(Magisk)和红手指云手机(Lspatch)使用Shamrock其它平台未测试。
目前允许在中国移动云手机(`Magisk`)和红手指云手机(`Lspatch`)使用 `Shamrock` ,其它平台未测试。
### Shamrock的日志怎么导出
Shamrock的日志文件按照时间和进程名称保存在/sdcard/Android/data/com.tencent.mobileqq/Tencent/Shamrock/log文件夹内请查看提交issue时可以使用它们注意请不要提交超过50kb的日志文件。
`Shamrock` 的日志文件,按照时间和进程名称,保存在 `/sdcard/Android/data/com.tencent.mobileqq/Tencent/Shamrock/log` 文件夹内,请查看,提交 `issue` 时可以使用它们,注意请不要提交超过 `50kb` 的日志文件。

View File

@ -4,94 +4,112 @@ icon: rocket
---
::: warning 注意
Shamrock 的更新会围绕一个稳定的版本,如果盲目升级,可能导致 Shamrock 不可用。
Shamrock 仍然处于快速开发阶段可能会有大量API在未来版本中被删除或修改。
`Shamrock` 的更新会围绕一个稳定的版本,如果盲目升级,可能导致 `Shamrock` 不可用。
`Shamrock` 仍然处于快速开发阶段,可能会有大量 `API` 在未来版本中被删除或修改。
请不要过度依赖实验室中的功能,以免造成不必要的损失。
:::
## 下载
::: tip 提示
目前推荐您下载 开发版本 的 Shamrock
目前推荐您下载 开发版本 的 `Shamrock`
:::
### 稳定版本
- 要下载 Shamrock 的稳定版本,请访问 [GitHub Releases](https://github.com/whitechi73/OpenShamrock/releases)
- 要下载 `Shamrock` 的稳定版本,请访问 [GitHub Releases](https://github.com/whitechi73/OpenShamrock/releases)
### 开发版本
- 要下载 Shamrock 的开发版本(推荐),请访问 [GitHub Actions](https://github.com/whitechi73/OpenShamrock/actions/workflows/build-apk.yml)
- 要下载 `Shamrock` 的开发版本(推荐),请访问 [GitHub Actions](https://github.com/whitechi73/OpenShamrock/actions/workflows/build-apk.yml)
## 部署
::: warning 注意
请使用Shamrock兼容的QQ客户端部署见 [支持的QQ版本](./faq.md#支持的qq版本)
如果您使用了 QRSpeed/ShamrockNative 有关的插件,请确保 Shamrock 存活。
无论什么情况都请确保 QQ 客户端 存活。
禁止对 QQ 客户端 隐藏 Shamrock这将导致无法运行。
首次启动,必须打开 Shamrock否则无法推送配置文件导致失败。
请使用 `Shamrock` 兼容的 `QQ` 客户端部署,见 [支持的QQ版本](./faq.md#支持的qq版本)
如果您使用了 `QRSpeed/ShamrockNative` 有关的插件,请确保 `Shamrock` 存活。
无论什么情况都请确保 `QQ` 客户端 存活。
禁止对 `QQ` 客户端 隐藏 `Shamrock`,这将导致无法运行。
首次启动,必须打开 `Shamrock`,否则无法推送配置文件导致失败。
:::
### 模拟器上部署
在Mumu模拟器、逍遥模拟器......各种模拟器其中对Shamrock兼容较好的是**Mumu模拟器**其它模拟器在测试情况下都出现高版本QQ闪退的问题。
在Mumu模拟器、逍遥模拟器......各种模拟器其中对Shamrock兼容较好的是 **Mumu模拟器** ,其它模拟器在测试情况下都出现高版本 `QQ` 闪退的问题。
检查您是否拥有Root权限尝试安装安卓Xposed框架注意的是
Shamrock必须是`ALL版本`才能在模拟器正常使用
::: warning 注意
`Shamrock` 必须是 `ALL版本` 才能在模拟器正常使用
:::
推荐的是Xposed的Lsposed框架而不是EdXposed在测试情况下EdXP出现了无法注入的问题。
#### Magisk+Lsposed
如果您没有办法安装Xposed框架请尝试使用Lspatch需要安卓9.0+。请不要下载其他人Patch的版本其它人修改的QQ请前往github下载正确的Lspatch的jar或者apk手动patch你想要的版本需要Shamrock支持该版本。Patch之后即使您使用的是便携模式您依旧需要将QQ和Shamrock安装在同一个环境。
推荐的是 `Xposed``Lsposed` 框架,而不是 `EdXposed`,在测试情况下, `EdXP` 出现了无法注入的问题。
- 安装 `Magisk` 方法,见 [52pojie论坛](https://www.52pojie.cn/thread-1583586-1-1.html)
- 安装 `Lsposed` 方法,见 [Magisk中文网](https://magiskcn.com/lsposed-install)
#### Lspatch
查看 [使用LSPatch](#使用-lspatch)
### 在Linux类服务器上部署使用docker
这个选择过于多元化你可以使用redroid、docker-android需要注意的是部分框架要求开起虚拟化才能使用哦目前依旧是采用Lspatch+Shamrock方案在docker部署因为安装magisk类需要修补镜像难以实现。
这个选择过于多元化,你可以使用 `redroid`, `docker-android`,需要注意的是部分框架要求开起虚拟化才能使用哦!目前依旧是采用 `Lspatch+Shamrock` 方案在 `docker` 部署,因为安装 `magisk` 类需要修补镜像,难以实现。
查看 [使用LSPatch](#使用-lspatch)
### 在PVE上使用
#### 部署Windows
### 在PVE上使用Windows部署
使用PVE安装任意Windows系统之后阅读文章
[PVE开启嵌套虚拟化](https://zhuanlan.zhihu.com/p/354034712?utm_psn=1695915211926863872)
之后可在系统内使用安卓模拟器部署。
### 在PVE上直接部署BlissOS
之后可在系统内使用 [安卓模拟器部署](#模拟器上部署)。
#### 部署BlissOS
操作视频参考[PVE下安装BlissOS及Magisk,LSP](https://www.bilibili.com/video/BV1Mj411e7V9)
之后可以直接使用OpenShamrock
之后可以直接使用 `OpenShamrock`
### 在Linux KVM部署
参考文章:[KVM上部署Android](https://cloud.tencent.com/developer/article/1484145)
该文章使用的安卓版本可能较低请使用安卓9+系统
### ~~在WSA上部署~~
WSA拥有自带Magisk的版本但是QQ在WSA在第二次启动时会闪退怀疑为热更新问题。
`WSA` 拥有自带 `Magisk` 的版本,但是 `QQ``WSA` 在第二次启动时会闪退,怀疑为热更新问题。
### 有 XP 环境
- 打开 QQ 客户端,登录你的 QQ 账号
- 安装 Shamrock 并在 Xposed 启用 Shamrock 模块,如果使用 LSPosed 则需要勾选模块作用域(默认QQ)
- 启动 Shamrock 并`重新启动 QQ 客户端`,如果环境为 Xposed 则需要重启手机
- 此时 Shamrock 会显示已激活(需要成功登陆,才会显示已激活)
- 打开 `QQ` 客户端,登录你的 `QQ` 账号
- 安装 `Shamrock` 并在 `Xposed` 启用 `Shamrock` 模块,如果使用 `LSPosed` 则需要勾选模块作用域(默认QQ)
- 启动 `Shamrock``重新启动 QQ 客户端`,如果环境为 `Xposed` 则需要重启手机
- 此时 `Shamrock` 会显示已激活(需要成功登陆,才会显示已激活)
### 无 Root 环境
#### 使用 LSPatch
- 打开 LSPatch 并在`管理`页面选择 `+` 新建修补可以选择从存储目录选择QQAPK或者直接使用已经安装过的QQ
- 修补模式默认且应该优先选择`本地模式`,这样方便直接更新 Shamrock 模块而不用重新修补,缺点是需要 LSPatch 保持后台运行
- 其他配置保持默认,然后点击`开始修补`,修补完成后会提示安装(如果已经安装会提示卸载)
- 安装 Shamrock 模块后在`管理`页面点击修补好的 QQ 选择`模块作用域` 勾选上 Shamrock 模块然后保存
- 启动 Shamrock 并`重新启动 QQ 客户端`
- 此时 Shamrock 会显示已激活
- 打开 `LSPatch` 并在 `管理` 页面选择 `+` 新建修补,可以选择从存储目录选择 `QQAPK` 或者直接使用已经安装过的 `QQ`
- 修补模式默认且应该优先选择 `本地模式` ,这样方便直接更新 `Shamrock` 模块而不用重新修补,缺点是需要 `LSPatch` 保持后台运行
- 其他配置保持默认,然后点击 `开始修补` ,修补完成后会提示安装(如果已经安装会提示卸载)
- 安装 `Shamrock` 模块后在 `管理` 页面点击修补好的 `QQ` 选择 `模块作用域` 勾选上 `Shamrock` 模块然后保存
- 启动 `Shamrock` `重新启动 QQ 客户端`
- 此时 `Shamrock` 会显示已激活
::: warning 注意
使用`本地模式`修补后需要保持LSPatch在后台运行优点是模块更新无需重新修补QQ
使用`集成模式`修补后无需保持LSPatch在后台运行缺点是模块更新后需要重新修补QQ
使用 `本地模式` 修补后需要保持 `LSPatch` 在后台运行,优点是模块更新无需重新修补 `QQ`
使用 `集成模式` 修补后无需保持 `LSPatch` 在后台运行,缺点是模块更新后需要重新修补 `QQ`
:::
#### 使用 VirtualXposed
::: warning 注意
在 Android 12 以上的系统中,使用 VirtualXposed 会导致闪退。
在 Android 12 以上的系统中,使用 `VirtualXposed` 会导致闪退。
:::
#### 使用 太极

View File

@ -9,25 +9,22 @@ icon: layer-group
## 合并转发
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | --- | --- | ---- | --------- |
| id | string | ✓ | ✓ | 是 | 合并转发resid |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | --- | --- | ---- | ------------- |
| id | string | ✓ | ✓ | 是 | 合并转发resid |
## 合并转发(节点)
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | --- | --- | ---- | --------- |
| id | int64 | ✓ | ✓ | 是 | 消息ID |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ----- | --- | --- | ---- | ------ |
| id | int64 | ✓ | ✓ | 是 | 消息ID |
## XML 消息 <Badge text="未实现" type="danger" />
## JSON 消息
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | --- | --- | ---- | --------- |
| data | string | ✓ | ✓ | 是 | JSON 数据 |
@ -36,7 +33,7 @@ icon: layer-group
@tab CQ 码
```
```text
[CQ:json,data={"app":"com.tencent.structmsg","config":{"autosize":true,"ctime":1621234567,"forward":true,"token":"shamrock"},"desc":"这是一条 JSON 消息"...}]
```

View File

@ -16,18 +16,18 @@ icon: compact-disc
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | --- |---| ---- |-------------------------------------|
| file | string | ✓ | ✓ | 是 | 图片文件地址 |
| url | string | ✓ | ✓ | 否 | 图片链接地址 |
| type | string | ✓ | x | 否 | 图片类型, 分为`show`, `flash`, `original` |
| subType | int32 | ✓ | x | 否 | 图片子类型 |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ------- | ------ | --- | --- | ---- | ----------------------------------------- |
| file | string | ✓ | ✓ | 是 | 图片文件地址 |
| url | string | ✓ | ✓ | 否 | 图片链接地址 |
| type | string | ✓ | x | 否 | 图片类型, 分为`show`, `flash`, `original` |
| subType | int32 | ✓ | x | 否 | 图片子类型 |
::: tabs
@tab CQ 码
```
```text
[CQ:image,file=file:///sdcard/Pictures/shamrock.png]
```
@ -46,18 +46,18 @@ icon: compact-disc
### 图片子类型
| value | 说明 |
| ----- | ---- |
| 0 | 正常图片 |
| value | 说明 |
| ----- | ---------------------------------------------- |
| 0 | 正常图片 |
| 1 | 表情包, 在客户端会被分类到表情包图片并缩放显示 |
| 2 | 热图 |
| 3 | 斗图 |
| 4 | 智图? |
| 7 | 贴图 |
| 8 | 自拍 |
| 9 | 贴图广告? |
| 10 | 有待测试 |
| 13 | 热搜图 |
| 2 | 热图 |
| 3 | 斗图 |
| 4 | 智图? |
| 7 | 贴图 |
| 8 | 自拍 |
| 9 | 贴图广告? |
| 10 | 有待测试 |
| 13 | 热搜图 |
## 语音
@ -73,7 +73,7 @@ icon: compact-disc
@tab CQ 码
```
```text
[CQ:record,file=file:///sdcard/Music/shamrock.mp3]
```
@ -102,12 +102,11 @@ icon: compact-disc
| ---- | ------ | --- | --- | ---- | ------------ |
| file | string | × | ✓ | 是 | 视频文件地址 |
::: tabs
@tab CQ 码
```
```text
[CQ:video,file=file:///sdcard/Movies/shamrock.mp4]
```
@ -122,4 +121,4 @@ icon: compact-disc
}
```
:::
:::

View File

@ -11,9 +11,9 @@ icon: comment-dots
`qq` 字段为 `"0"``"all"` 时, 表示 AT 全体成员。
:::
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | ---- | ---- | ---- | ----- |
| qq | string | ✓ | ✓ | 否 | QQ 号 |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ------ | --- | --- | ---- | ----- |
| qq | string | ✓ | ✓ | 否 | QQ 号 |
::: warning 注意
将在未来实现 `qq` 字段为 `online``admin` 时的功能。
@ -23,7 +23,7 @@ icon: comment-dots
@tab CQ 码
```
```text
[CQ:at,qq=123456]
```
@ -44,10 +44,10 @@ icon: comment-dots
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ---- | --- | --- | ---- | ------- |
| id | int | ✓ | ✓ | 是 | 表情 ID |
| big | bool | ✓ | X | 否 | 是否是大表情 |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ---- | --- | --- | ---- | ------------ |
| id | int | ✓ | ✓ | 是 | 表情 ID |
| big | bool | ✓ | X | 否 | 是否是大表情 |
::: tip 提示
表情 ID 可以在 [这里](https://github.com/richardchien/coolq-http-api/wiki/%E8%A1%A8%E6%83%85-CQ-%E7%A0%81-ID-%E8%A1%A8) 查看。
@ -57,7 +57,7 @@ icon: comment-dots
@tab CQ 码
```
```text
[CQ:face,id=351,big=true]
```
@ -79,10 +79,10 @@ icon: comment-dots
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ---- | --- | --- | ---- | ------- |
| id | int | ✓ | ✓ | 是 | 表情 ID |
| count | int | ✓ | √ | 是 | 数量 |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ----- | ---- | --- | --- | ---- | ------- |
| id | int | ✓ | ✓ | 是 | 表情 ID |
| count | int | ✓ | √ | 是 | 数量 |
::: tip 提示
表情 ID 可以在 [这里](https://github.com/richardchien/coolq-http-api/wiki/%E8%A1%A8%E6%83%85-CQ-%E7%A0%81-ID-%E8%A1%A8) 查看。
@ -92,7 +92,7 @@ icon: comment-dots
@tab CQ 码
```
```text
[CQ:bubble_face,id=351,count=114514]
```
@ -122,7 +122,7 @@ icon: comment-dots
@tab CQ 码
```
```text
[CQ:reply,id=1]
```
@ -137,4 +137,4 @@ icon: comment-dots
}
```
:::
:::

View File

@ -7,15 +7,15 @@ icon: paper-plane
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| -------- | ---- | --- | --- | ---- | --------------------- |
| id | int | ✓ | x | 是 | 5 没中, 4 擦边没中, 3 卡框, 2 擦边中, 1 正中 |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ---- | --- | --- | ---- | -------------------------------------------- |
| id | int | ✓ | x | 是 | 5 没中, 4 擦边没中, 3 卡框, 2 擦边中, 1 正中 |
::: tabs
@tab CQ 码
```
```text
[CQ:basketball,id=1]
```
@ -36,15 +36,15 @@ icon: paper-plane
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| -------- | ---- | --- | --- | ---- | --------------------- |
| id | int | ✓ | x | 是 | 锤 3 剪 2 布 1 |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ---- | --- | --- | ---- | -------------- |
| id | int | ✓ | x | 是 | 锤 3 剪 2 布 1 |
::: tabs
@tab CQ 码
```
```text
[CQ:new_rps,id=1]
```
@ -65,15 +65,15 @@ icon: paper-plane
### 参数
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| -------- | ---- | --- | --- | ---- | --------------------- |
| id | int | ✓ | x | 是 | 点数 ID |
| 字段 | 类型 | 收 | 发 | 必填 | 说明 |
| ---- | ---- | --- | --- | ---- | ------- |
| id | int | ✓ | x | 是 | 点数 ID |
::: tabs
@tab CQ 码
```
```text
[CQ:new_dice,id=1]
```
@ -96,7 +96,7 @@ icon: paper-plane
@tab CQ 码
```
```text
[CQ:dice]
```
@ -105,8 +105,7 @@ icon: paper-plane
```json
{
"type": "dice",
"data": {
}
"data": {}
}
```
@ -118,7 +117,7 @@ icon: paper-plane
@tab CQ 码
```
```text
[CQ:rps]
```
@ -127,8 +126,7 @@ icon: paper-plane
```json
{
"type": "rps",
"data": {
}
"data": {}
}
```
@ -152,7 +150,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:poke,type=1,id=10000]
```
@ -183,7 +181,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:touch,id=123456]
```
@ -213,7 +211,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:music,type=qq,id=123456]
```
@ -248,7 +246,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:music,type=custom,url=https://example.com,audio=https://example.com/music.mp3,title=Music,singer=Music,image=https://example.com/image.jpg]
```
@ -283,7 +281,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:weather,city=上海]
```
@ -315,7 +313,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:location,lat=39.915168,lon=116.403875]
```
@ -349,7 +347,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:share,url=https://example.com,title=Example,content=Example,image=https://example.com/image.jpg,file=https://example.com/file.zip]
```
@ -383,7 +381,7 @@ Shamrock 对于戳一戳的定义与 `go-cqhttp` 不同。
@tab CQ 码
```
```text
[CQ:gift,qq=123456,id=10000]
```