From 16d8f0b854bfab305bcb926bcb2d06ed710f0b3a Mon Sep 17 00:00:00 2001 From: huan_kong <2564076459@qq.com> Date: Mon, 19 Feb 2024 14:37:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E7=9A=84=E9=97=AE=E9=A2=98,=E6=95=B4=E7=90=86?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F,=E4=BC=98=E5=8C=96=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .markdownlint.json | 5 + docs/api/contact.md | 136 +++++++++--------- docs/api/fav.md | 39 +++-- docs/api/file.md | 169 +++++++++++----------- docs/api/group.md | 72 +++++----- docs/api/guild.md | 264 +++++++++++----------------------- docs/api/message.md | 236 +++++++++++++++--------------- docs/api/other.md | 8 +- docs/api/resources.md | 36 +++-- docs/api/shamrock.md | 33 +++-- docs/api/user.md | 18 --- docs/event/general-data.md | 36 ++--- docs/event/message.md | 38 ++--- docs/event/notice.md | 113 ++++++++------- docs/guide/configuration.md | 87 ++++++----- docs/guide/faq.md | 29 ++-- docs/guide/getting-started.md | 86 ++++++----- docs/message/advanced.md | 17 +-- docs/message/media.md | 43 +++--- docs/message/normal.md | 32 ++--- docs/message/special.md | 50 ++++--- 22 files changed, 720 insertions(+), 828 deletions(-) create mode 100644 .markdownlint.json diff --git a/.gitignore b/.gitignore index d5e0aac..72c9f34 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ lerna-debug.log* node_modules .temp +dist .cache # Editor directories and files diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..580be52 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,5 @@ +{ + "MD013": false, + "MD024": false, + "MD033": false +} diff --git a/docs/api/contact.md b/docs/api/contact.md index 8e5f8dc..43640f0 100644 --- a/docs/api/contact.md +++ b/docs/api/contact.md @@ -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 ::: - ## 获取单向好友列表 该接口用于获取单向好友列表。 @@ -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是否在黑名单内 diff --git a/docs/api/fav.md b/docs/api/fav.md index 47e0266..9d8eb6b 100644 --- a/docs/api/fav.md +++ b/docs/api/fav.md @@ -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": "" } -``` \ No newline at end of file +``` diff --git a/docs/api/file.md b/docs/api/file.md index 445c4c0..4028936 100644 --- a/docs/api/file.md +++ b/docs/api/file.md @@ -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 | 文件下载链接 | diff --git a/docs/api/group.md b/docs/api/group.md index d63eead..b3c90af 100644 --- a/docs/api/group.md +++ b/docs/api/group.md @@ -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` 字段无数据。。 \ No newline at end of file +该接口将返回处理结果,其中 `data` 字段无数据。。 diff --git a/docs/api/guild.md b/docs/api/guild.md index 714c191..eddd177 100644 --- a/docs/api/guild.md +++ b/docs/api/guild.md @@ -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` | 批量设置用户s | -| user_id | int64 | 单独设置某个用户的身份 | +| 字段 | 类型 | 说明 | +| -------- | ------------------------- | ------------------------- | +| guild_id | uint64 | 频道ID | +| role_id | uint64 | 角色ID | +| set | bool | 设置还是移除,默认`false` | +| users | string or `vector` | 批量设置用户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 | 默认身份组成员 | +| 字段 | 类型 | 说明 | +| ------------- | --------------- | -------------- | +| guild_id | uint64 | 频道ID | +| name | string | 名称 | +| color | int64 | 颜色ARGB | +| initial_users | `vector` | 默认身份组成员 | > 如果是`HTTP`请求,则`initial_users`使用字符串,以`,`为用户`tiny_id`分隔。 ### 响应 -| 字段 | 类型 | 说明 | -|---------|--------|--------| -| role_id | uint64 | 角色ID | - +| 字段 | 类型 | 说明 | +| ------- | ------ | ------ | +| role_id | uint64 | 角色ID | diff --git a/docs/api/message.md b/docs/api/message.md index 878d01b..9b68036 100644 --- a/docs/api/message.md +++ b/docs/api/message.md @@ -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[] | 合并转发消息集 | | ### 响应 diff --git a/docs/api/other.md b/docs/api/other.md index ba8d70e..22c438d 100644 --- a/docs/api/other.md +++ b/docs/api/other.md @@ -235,8 +235,8 @@ icon: feather-alt ### 参数 -| 字段 | 类型 | 必须 | 说明 | -|--------|--------|-----|----------| -| pic | string | 是 | 图片base64 | -| sender | int64 | 是 | QQ | +| 字段 | 类型 | 必须 | 说明 | +| ------ | ------ | ---- | ---------------- | +| pic | string | 是 | 图片base64 | +| sender | int64 | 是 | QQ | | troop | int64 | 是 | 图片发送到的群聊 | diff --git a/docs/api/resources.md b/docs/api/resources.md index dbd3e52..84cf7e6 100644 --- a/docs/api/resources.md +++ b/docs/api/resources.md @@ -17,17 +17,17 @@ icon: video-camera ### 参数 -| 字段 | 类型 | 必须 | 说明 | -|------|--------|-----|--------| +| 字段 | 类型 | 必须 | 说明 | +| ---- | ------ | ---- | -------- | | file | string | 是 | 文件 MD5 | ### 响应 -| 字段 | 类型 | 说明 | -|----------|--------|--------| -| size | int64 | 文件大小 | -| url | string | 文件 URL | -| filename | string | 文件 名称 | +| 字段 | 类型 | 说明 | +| -------- | ------ | --------- | +| size | int64 | 文件大小 | +| url | string | 文件 URL | +| filename | string | 文件 名称 | ## 检查是否可以发送图片 @@ -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` | ## 获取文件 diff --git a/docs/api/shamrock.md b/docs/api/shamrock.md index 3b6a6e9..61b38e1 100644 --- a/docs/api/shamrock.md +++ b/docs/api/shamrock.md @@ -13,9 +13,9 @@ icon: feather-alt ## 参数 -| 字段 | 类型 | 必须 | 说明 | 默认值 | -| ------ | ------- | ---- | -------------------- | ------ | -| user_id | int64 | 是 | QQ | | +| 字段 | 类型 | 必须 | 说明 | 默认值 | +| ------- | ----- | ---- | ---- | ------ | +| user_id | int64 | 是 | QQ | | ### 响应 @@ -47,7 +47,6 @@ icon: feather-alt 2.仅发送文件base64,Shamrock解码后直接转存为文件 - 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 diff --git a/docs/api/user.md b/docs/api/user.md index d487d95..1f592e3 100644 --- a/docs/api/user.md +++ b/docs/api/user.md @@ -42,21 +42,3 @@ icon: users ### 响应 该接口将返回处理结果,其中 `data` 字段无数据。 - -## 撤回消息 - -该接口用于撤回消息。 - -### API 端点 - -`/delete_msg` - -### 参数 - -| 字段 | 类型 | 必须 | 说明 | -| ---------- | ------- | ---- | ------ | -| message_id | int32 | 是 | 消息ID | - -### 响应 - -该接口将返回处理结果,其中 `data` 字段无数据。。 diff --git a/docs/event/general-data.md b/docs/event/general-data.md index 757747b..9c70c35 100644 --- a/docs/event/general-data.md +++ b/docs/event/general-data.md @@ -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 | 通讯录 | \ No newline at end of file +| 类型 | 来源 | +| ---- | -------- | +| 0 | 群聊 | +| 1 | QQ咨询 | +| 2 | 查找 | +| 3 | QQ电影 | +| 4 | 热聊 | +| 6 | 验证消息 | +| 7 | 多人聊天 | +| 8 | 约会 | +| 9 | 通讯录 | diff --git a/docs/event/message.md b/docs/event/message.md index 714c18b..5e120ef 100644 --- a/docs/event/message.md +++ b/docs/event/message.md @@ -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 | 是否自动回复到消息 | ## 快速操作 diff --git a/docs/event/notice.md b/docs/event/notice.md index a81a202..077bdea 100644 --- a/docs/event/notice.md +++ b/docs/event/notice.md @@ -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 | 操作图标 | ## 群红包运气王 diff --git a/docs/guide/configuration.md b/docs/guide/configuration.md index 4bf2b4e..1e76033 100644 --- a/docs/guide/configuration.md +++ b/docs/guide/configuration.md @@ -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 . diff --git a/docs/guide/faq.md b/docs/guide/faq.md index dd6397c..9b8fd69 100644 --- a/docs/guide/faq.md +++ b/docs/guide/faq.md @@ -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存活的情况下启动QQ,Shamrock的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` 的日志文件。 diff --git a/docs/guide/getting-started.md b/docs/guide/getting-started.md index f7f3e6b..d0a5fa8 100644 --- a/docs/guide/getting-started.md +++ b/docs/guide/getting-started.md @@ -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` 会导致闪退。 ::: #### 使用 太极 diff --git a/docs/message/advanced.md b/docs/message/advanced.md index a75e43f..0bff264 100644 --- a/docs/message/advanced.md +++ b/docs/message/advanced.md @@ -9,25 +9,22 @@ icon: layer-group ## 合并转发 -| 字段 | 类型 | 收 | 发 | 必填 | 说明 | -| ---- | ------ | --- | --- | ---- | --------- | -| id | string | ✓ | ✓ | 是 | 合并转发resid | +| 字段 | 类型 | 收 | 发 | 必填 | 说明 | +| ---- | ------ | --- | --- | ---- | ------------- | +| id | string | ✓ | ✓ | 是 | 合并转发resid | ## 合并转发(节点) -| 字段 | 类型 | 收 | 发 | 必填 | 说明 | -| ---- | ------ | --- | --- | ---- | --------- | -| id | int64 | ✓ | ✓ | 是 | 消息ID | +| 字段 | 类型 | 收 | 发 | 必填 | 说明 | +| ---- | ----- | --- | --- | ---- | ------ | +| id | int64 | ✓ | ✓ | 是 | 消息ID | ## XML 消息 ## 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 消息"...}] ``` diff --git a/docs/message/media.md b/docs/message/media.md index d37c008..adfff53 100644 --- a/docs/message/media.md +++ b/docs/message/media.md @@ -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 } ``` -::: \ No newline at end of file +::: diff --git a/docs/message/normal.md b/docs/message/normal.md index 14b89b5..2f131ea 100644 --- a/docs/message/normal.md +++ b/docs/message/normal.md @@ -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 } ``` -::: \ No newline at end of file +::: diff --git a/docs/message/special.md b/docs/message/special.md index dddccec..16fd725 100644 --- a/docs/message/special.md +++ b/docs/message/special.md @@ -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] ```