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]
```