From 708e77bcfa69b17500c4ff414298196e9ff14c62 Mon Sep 17 00:00:00 2001 From: Him188 Date: Sun, 24 Jan 2021 15:59:54 +0800 Subject: [PATCH] Update docs --- docs/README.md | 44 ++++++++++++++++++++++--------------------- docs/mirai-ecology.md | 42 ++++++++++++++++++----------------------- 2 files changed, 41 insertions(+), 45 deletions(-) diff --git a/docs/README.md b/docs/README.md index a96646325..c9df2f70e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,7 @@ **[Mirai 生态概览](mirai-ecology.md)** -## 确定 SDK +## 社区 SDK **mirai 官方提供 Kotlin/Java 等 JVM 平台语言开发支持。如果不熟悉这些语言,请使用以下社区 SDK:** @@ -17,6 +17,7 @@ [mamoe/mirai-api-http]: https://github.com/mamoe/mirai-api-http [iTXTech/mirai-native]: https://github.com/iTXTech/mirai-native [iTXTech/mirai-js]: https://github.com/iTXTech/mirai-js +[iTXTech/mirai-kts]: https://github.com/iTXTech/mirai-kts [GraiaProject/Application]: https://github.com/GraiaProject/Application [RedBeanN/node-mirai]: https://github.com/RedBeanN/node-mirai [Logiase/gomirai]: https://github.com/Logiase/gomirai @@ -34,24 +35,25 @@ [Rhino]: https://github.com/mozilla/rhino [OneBot]: https://github.com/howmanybots/onebot -| 技术 | 实现 | 维护者及项目地址 | -|:-----------------|:--------------------------|:--------------------------------------------| -| ***Mirai Http*** | Mirai 标准 | [mamoe/mirai-api-http] | -| *OneBot Http* | [OneBot] 标准 | [yyuueexxiinngg/onebot-kotlin] | -| `Python` | *Mirai Http* | [Graia Framework][GraiaProject/Application] | -| `C++` | *Mirai Http* | [cyanray/mirai-cpp] | -| `C++` | *Mirai Http* | [Chlorie/miraipp] | -| `C++` | JNI | [Nambers/MiraiCP] | -| `C#` | *Mirai Http* | [Executor-Cheng/mirai-CSharp] | -| `Rust` | *Mirai Http* | [HoshinoTented/mirai-rs] | -| `JavaScript` | [Rhino] / JVM | [iTXTech/mirai-js] | -| `JavaScript` | Node.js / *Mirai Http* | [RedBeanN/node-mirai] | -| `JavaScript` | TypeScript / *Mirai Http* | [YunYouJun/mirai-ts] | -| `JavaScript` | [Rhino] / JVM | [StageGuard/mirai-rhinojs-sdk] | -| `.Net/C#` | *Mirai Http* | [Hyperai][theGravityLab/ProjHyperai] | -| `Go` | *Mirai Http* | [Logiase/gomirai] | -| `易语言` | *Mirai Http* | [only52607/e-mirai] | -| *酷 Q DLL 插件* | JNI | [iTXTech/mirai-native] | +| 技术 | 实现 | 维护者及项目地址 | +|:-------------------|:--------------------------|:--------------------------------------------| +| ***Mirai Http*** | Mirai 标准 | [mamoe/mirai-api-http] | +| *OneBot Http* | [OneBot] 标准 | [yyuueexxiinngg/onebot-kotlin] | +| `C++` | JNI | [Nambers/MiraiCP] | +| `Kotlin Scripting` | JVM | [iTXTech/mirai-kts] | +| `Python` | *Mirai Http* | [Graia Framework][GraiaProject/Application] | +| `C++` | *Mirai Http* | [cyanray/mirai-cpp] | +| `C++` | *Mirai Http* | [Chlorie/miraipp] | +| `C#` | *Mirai Http* | [Executor-Cheng/mirai-CSharp] | +| `Rust` | *Mirai Http* | [HoshinoTented/mirai-rs] | +| `JavaScript` | [Rhino] / JVM | [iTXTech/mirai-js] | +| `JavaScript` | Node.js / *Mirai Http* | [RedBeanN/node-mirai] | +| `JavaScript` | TypeScript / *Mirai Http* | [YunYouJun/mirai-ts] | +| `JavaScript` | [Rhino] / JVM | [StageGuard/mirai-rhinojs-sdk] | +| `.Net/C#` | *Mirai Http* | [Hyperai][theGravityLab/ProjHyperai] | +| `Go` | *Mirai Http* | [Logiase/gomirai] | +| `易语言` | *Mirai Http* | [only52607/e-mirai] | +| *酷 Q DLL 插件* | JNI | [iTXTech/mirai-native] | > *想在这里添加你的项目?欢迎[提交 PR](https://github.com/mamoe/mirai/edit/dev/docs/README.md)。* @@ -61,7 +63,7 @@ ## JVM 平台 Mirai 开发 -**Mirai 文档没有废话,请务必仔细阅读每一个字。仔细阅读文档花费的 1 分钟可能相当于不阅读文档而自己摸索解决办法的 1 小时。** +**为了避免遇到各种问题,请仔细阅读。** 1. [JVM 环境和开发准备工作(2 分钟)](Preparations.md#mirai---preparations) 2. **配置项目依赖** @@ -69,7 +71,7 @@ - 要为 [`mirai-console`] 框架开发插件,请阅读 [mirai-console 的配置插件项目](https://github.com/mamoe/mirai-console/blob/master/docs/ConfiguringProjects.md)。 3. 阅读 API 文档(见下文) -> 如果你不知道 [`mirai-console`] 是什么,请阅读 [Mirai 生态概览](mirai-ecology.md)。 +> 如果你不知道 `mirai-core` 或 [`mirai-console`] 是什么,请阅读 [Mirai 生态概览](mirai-ecology.md)。 > > 如果你希望先确认 mirai 能够正常运行才能安心阅读文档,可克隆 [mirai-hello-world](https://github.com/project-mirai/mirai-hello-world) 并运行其中 Kotlin 或 Java 入口点 `main`。 diff --git a/docs/mirai-ecology.md b/docs/mirai-ecology.md index 2d8b63a97..300756b54 100644 --- a/docs/mirai-ecology.md +++ b/docs/mirai-ecology.md @@ -8,7 +8,7 @@ Mirai是一个免费开源的QQ机器人框架,由于其开源和易拓展的 1. [Mirai](#mirai-使用-kotlin-编写的高效率-qq-机器人框架) -2. [mirai-console](#mirai-console-mirai-官方的可拓展式qq机器人管理控制台) +2. [mirai-console](#mirai-console-mirai-官方的可拓展式-qq-机器人管理控制台) - [chat-command](#chat-command-mirai-console-的官方的聊天命令插件) - [mirai-api-http](#mirai-api-http-mirai-console-的官方-http-api-插件) @@ -27,8 +27,8 @@ Mirai,正如你所见,这个名字不带任何的前缀或后缀,它是** 通常来说,Mirai 就是一个 QQ 机器人框架,但是它的内部并不是一个单一的结构: -- [mirai-core](https://github.com/mamoe/mirai/tree/dev/mirai-core):是 Mirai 对 QQ 的具体协议实现,它承担具体且核心的工作。 - [mirai-core-api](https://github.com/mamoe/mirai/tree/dev/mirai-core-api):提供了使用 Mirai 的接口。它抽象了核心协议的接口,如**收发消息**,**群操作**等,但不承担具体工作。 +- [mirai-core](https://github.com/mamoe/mirai/tree/dev/mirai-core):是 Mirai 对 QQ 的具体协议实现,它承担具体且核心的工作。 它们的关系如下: @@ -36,19 +36,19 @@ Mirai,正如你所见,这个名字不带任何的前缀或后缀,它是** 可以看到,协议内容只在 Mirai 内部使用,只有 mirai-core-api 对外提供了功能。 -你需要使用 Kotlin 语言或 Java 语言来编写你的QQ机器人程序。在开发时需要依赖 mirai-core-api,而开发完成后要运行时需要有 mirai-core 来承担核心工作。 +Mirai 运行在 JVM,你需要使用 Kotlin 语言或 Java 语言来编写你的 QQ 机器人程序。在运行时需要有 mirai-core,在开发时只需要有 mirai-core-api。 -可以参考官方示例:**[project-mirai/mirai-demos](https://github.com/project-mirai/mirai-demos)**。 +> 有关 JVM 平台项目配置可以在[之后](ConfiguringProjects.md#mirai---configuring-projects)了解到。 -## [mirai-console](https://github.com/mamoe/mirai-console): Mirai 官方的可拓展式QQ机器人管理控制台 +## [mirai-console](https://github.com/mamoe/mirai-console): Mirai 官方的可拓展式 QQ 机器人管理控制台 -前面我们提到,你可以使用 Mirai 框架提供的对外开放接口来编写个性化QQ机器人程序,而 mirai-console 就是 Mirai 官方开发组编写的QQ机器人程序,它**在 Mirai 框架提供的基础功能的基础上进行了封装**并**进一步提供了更方便的开放接口**。 +前面我们提到,你可以使用 Mirai 框架提供的对外开放接口来编写个性化QQ机器人程序,而 mirai-console 就是 Mirai 官方开发组编写的 QQ 机器人程序,它**在 Mirai 框架提供的基础功能的基础上进行了封装**并**进一步提供了更方便的开放接口**。 比如,console 提供了**配置自动登录**,**自动配置/数据存储**功能,这样你就不需要自己考虑写配置登录或者数据存储了,减少了代码工作量。承接上面的例子,mirai-console 就相当于为你在建筑骨架上砌好了墙,分好了房间,这样你就能更容易地盖好这栋楼了。 -**重要的是,mirai-console 有 CLI 即 command-line interface, 可以直接在终端运行它,并实时看到你的机器人状态、插件的运行情况,或者通过 console 提供的命令管理指令权限或者执行插件提供的指令等。** +**重要的是,mirai-console 有命令行界面,可以直接在终端运行它,并实时看到你的机器人状态、插件的运行情况,或者通过 console 提供的命令管理指令权限或者执行插件提供的指令等。** -同样,你需要使用 Kotlin 语言或 Java 语言来编写基于 mirai-console 的 QQ机器人程序,在 mirai-console 中,你编写的程序被称作**插件(Plugin)**,它将被打包为 jar 文件,这样可以很方便发布你的机器人功能程序给其他人使用,把插件 mirai-console 指定的文件夹下,启动 mirai-console 就可以加载你的程序了。 +你可以使用 Kotlin 语言或 Java 语言来编写基于 mirai-console 的 QQ机器人程序,在 mirai-console 中,你编写的程序被称作**插件(Plugin)**,它将被打包为 jar 文件,这样可以很方便发布你的机器人功能程序给其他人使用,把插件 mirai-console 指定的文件夹下,启动 mirai-console 就可以加载你的程序了。 > 你一定玩过 Minecraft, 这里的插件就像 Minecraft 的 mod 一样! @@ -56,20 +56,16 @@ Mirai,正如你所见,这个名字不带任何的前缀或后缀,它是** mirai-console 的内部也不是单一的结构,它分为**前端**和**后端**具体如下: -- [后端(backEnd)](https://github.com/mamoe/mirai-console/tree/master/backend):后端就是做了上述工作,即提供**指令**,**权限**,**自动数据**等开放接口。 -- [前端(frontEnd)](https://github.com/mamoe/mirai-console/tree/master/frontend):前端就是启动 mirai-console 并监控后端运行状态的端口,上述 CLI 是前端的一种,即 [**mirai-console-terminal**](https://github.com/mamoe/mirai-console/tree/master/frontend/mirai-console-terminal),在终端启动的前端。另外还有其他两个前端,分别是可以在 Android 启动的 **[MiraiAndroid](https://github.com/mzdluo123/MiraiAndroid)** 和正在开发的图形界面 [**mirai-console-graphical**](https://github.com/mamoe/mirai-console/tree/master/frontend/mirai-console-graphical)。 +- [后端](https://github.com/mamoe/mirai-console/tree/master/backend):后端就是做了上述工作,即提供**指令**,**权限**,**自动数据**等开放接口。 +- [前端](https://github.com/mamoe/mirai-console/tree/master/frontend):前端就是启动 mirai-console 并监控后端运行状态的端口,上述命令行解密是前端的一种,即 [**mirai-console-terminal**](https://github.com/mamoe/mirai-console/tree/master/frontend/mirai-console-terminal),在终端启动的前端。另外还有其他可用的前端如运行在 Android 的 **[MiraiAndroid](https://github.com/mzdluo123/MiraiAndroid)**。 后端就像是“**电脑主机**”,执行着核心工作,前端就像是“**显示器**”、“**鼠标**”和“**键盘**”,可以控制后端。 -> 注意这里的比喻并不是完全符合,因为 console 没有前端就无法运行后端,而电脑主机没了显示器等可以自行工作。 - 将 mirai-console 放入上述关系图: -[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKTo6OmhpZ2hsaWdodFxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1ncmFwaGljYWwoXCJGcm9udEVuZDogZ3JhcGhpY2FsPGJyLz4o5byA5Y-R5LitKVwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWlwbHVnaW4oXCLkvaDnvJblhpnnmoQgQ29uc29sZSDmj5Lku7ZcIilcbiAgICBlbmRcbiAgICB5b3VybWlyYWlwbHVnaW4gLS0-IG1pcmFpY29uc29sZWJhY2tlbmQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKTo6OmhpZ2hsaWdodFxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1ncmFwaGljYWwoXCJGcm9udEVuZDogZ3JhcGhpY2FsPGJyLz4o5byA5Y-R5LitKVwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWlwbHVnaW4oXCLkvaDnvJblhpnnmoQgQ29uc29sZSDmj5Lku7ZcIilcbiAgICBlbmRcbiAgICB5b3VybWlyYWlwbHVnaW4gLS0-IG1pcmFpY29uc29sZWJhY2tlbmQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ) +[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKTo6OmhpZ2hsaWdodFxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbnNvbGVwbHVnaW5zIFtcIk1pcmFpIENvbnNvbGUg5o-S5Lu2XCJdXG4gICAgICAgIHlvdXJtaXJhaXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKVxuICAgIGVuZFxuICAgIHlvdXJtaXJhaXBsdWdpbiAtLT4gbWlyYWljb25zb2xlYmFja2VuZCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKTo6OmhpZ2hsaWdodFxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbnNvbGVwbHVnaW5zIFtcIk1pcmFpIENvbnNvbGUg5o-S5Lu2XCJdXG4gICAgICAgIHlvdXJtaXJhaXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKVxuICAgIGVuZFxuICAgIHlvdXJtaXJhaXBsdWdpbiAtLT4gbWlyYWljb25zb2xlYmFja2VuZCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9) -你可以参考官方示例 [**Him188/mirai-console-example-plugin(Kotlin DSL)**](https://github.com/Him188/mirai-console-example-plugin) 和 **[Karlatemp/mirai-console-example-plugin(Groovy DSL)](https://github.com/Karlatemp/mirai-console-example-plugin)** 来了解如何编写一个 console 插件。 - -如果你想自己编写一个 console 插件,你可以使用这个模板:**[project-mirai/mirai-console-plugin-template](https://github.com/project-mirai/mirai-console-plugin-template)**。 +> 要获取有关 mirai-console 的更多信息,请前往 [mirai-console](https://github.com/mamoe/mirai-console) ## [chat-command](https://github.com/project-mirai/chat-command): Mirai Console 的官方的聊天命令插件 @@ -77,7 +73,7 @@ mirai-console 的内部也不是单一的结构,它分为**前端**和**后端 将 chat-command 放入上述关系图: -[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1ncmFwaGljYWwoXCJGcm9udEVuZDogZ3JhcGhpY2FsPGJyLz4o5byA5Y-R5LitKVwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWlwbHVnaW4oXCLkvaDnvJblhpnnmoQgQ29uc29sZSDmj5Lku7ZcIilcbiAgICAgICAgY2hhdGNvbW1hbmQoXCJjaGF0LWNvbW1hbmQg5o-S5Lu2XCIpOjo6aGlnaGxpZ2h0XG4gICAgZW5kXG4gICAgeW91cm1pcmFpcGx1Z2luIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgY2hhdGNvbW1hbmQgLS0-IG1pcmFpY29uc29sZWJhY2tlbmQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1ncmFwaGljYWwoXCJGcm9udEVuZDogZ3JhcGhpY2FsPGJyLz4o5byA5Y-R5LitKVwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWlwbHVnaW4oXCLkvaDnvJblhpnnmoQgQ29uc29sZSDmj5Lku7ZcIilcbiAgICAgICAgY2hhdGNvbW1hbmQoXCJjaGF0LWNvbW1hbmQg5o-S5Lu2XCIpOjo6aGlnaGxpZ2h0XG4gICAgZW5kXG4gICAgeW91cm1pcmFpcGx1Z2luIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgY2hhdGNvbW1hbmQgLS0-IG1pcmFpY29uc29sZWJhY2tlbmQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ) +[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbnNvbGVwbHVnaW5zIFtcIk1pcmFpIENvbnNvbGUg5o-S5Lu2XCJdXG4gICAgICAgIHlvdXJtaXJhaXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKVxuICAgICAgICBjaGF0Y29tbWFuZChcImNoYXQtY29tbWFuZCDmj5Lku7ZcIik6OjpoaWdobGlnaHRcbiAgICBlbmRcbiAgICB5b3VybWlyYWlwbHVnaW4gLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBjaGF0Y29tbWFuZCAtLT4gbWlyYWljb25zb2xlYmFja2VuZCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbnNvbGVwbHVnaW5zIFtcIk1pcmFpIENvbnNvbGUg5o-S5Lu2XCJdXG4gICAgICAgIHlvdXJtaXJhaXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKVxuICAgICAgICBjaGF0Y29tbWFuZChcImNoYXQtY29tbWFuZCDmj5Lku7ZcIik6OjpoaWdobGlnaHRcbiAgICBlbmRcbiAgICB5b3VybWlyYWlwbHVnaW4gLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBjaGF0Y29tbWFuZCAtLT4gbWlyYWljb25zb2xlYmFja2VuZCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9) ## [mirai-api-http](https://github.com/mamoe/mirai-api-http): Mirai Console 的官方 HTTP API 插件 @@ -87,21 +83,19 @@ mirai-console 的内部也不是单一的结构,它分为**前端**和**后端 这些社区 SDK 封装了 mirai-api-http 提供的接口,且使用了其他语言的良好特性,使编写QQ机器人程序变得更加容易,高效。 -将 mirai-api-http 和大部分官方列举的[社区 SDK](https://github.com/mamoe/mirai#%E4%BD%BF%E7%94%A8-mirai-console-%E6%9C%8D%E5%8A%A1%E7%AB%AF%E4%B8%BA-mirai-console-%E5%BC%80%E5%8F%91%E6%8F%92%E4%BB%B6) 放入上述关系图: +将 mirai-api-http 和部分 [社区 SDK](README.md#社区-sdk) 放入上述关系图: -[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1ncmFwaGljYWwoXCJGcm9udEVuZDogZ3JhcGhpY2FsPGJyLz4o5byA5Y-R5LitKVwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWlwbHVnaW4oXCLkvaDnvJblhpnnmoQgQ29uc29sZSDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgY2hhdGNvbW1hbmQoXCJjaGF0LWNvbW1hbmQg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpYXBpaHR0cChcIm1pcmFpLWFwaS1odHRwIOaPkuS7tlwiKTo6OmhpZ2hsaWdodCAgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb21tdW5pdHlzZGsgW1wi56S-5Yy6IFNES1wiXVxuICAgICAgICBsdWEoXCJMdWE6IGx1YS1taXJhaVwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWljb3JlYXBpXG4gICAgICAgIGRvdG5ldChcIi5OZXQvYyM6IEh5cGVyYWlcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBlKFwi5piT6K-t6KiAOiBlLW1pcmFpXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgdHlwZXNjcmlwdChcIlR5cGVTY3JpcHQ6IG1pcmFpLXRzXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgcnVzdChcIlJ1c3Q6IG1pcmFpLXJ1c3RcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBjc2hhcnAoXCJDIzogbWlyYWktQ1NoYXJwXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgY3BwKFwiQysrOiBtaXJhaS1jcHAvbWlyYWlwcFwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWlhcGlodHRwXG4gICAgICAgIHJoaW5vanMoXCJSaGlub0pTOiBtaXJhaS1yaGlub2pzLXNka1wiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWlhcGlodHRwXG4gICAgICAgIGdvKFwiR29sYW5nOiBnb21pcmFpXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgbm9kZWpzKFwiTm9kZUpTOiBub2RlanMtbWlyYWlcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBncmFpYShcIlB5dGhvbjogR3JhaWFGcmFtZXdvcmtcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgIGVuZCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1ncmFwaGljYWwoXCJGcm9udEVuZDogZ3JhcGhpY2FsPGJyLz4o5byA5Y-R5LitKVwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWlwbHVnaW4oXCLkvaDnvJblhpnnmoQgQ29uc29sZSDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgY2hhdGNvbW1hbmQoXCJjaGF0LWNvbW1hbmQg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpYXBpaHR0cChcIm1pcmFpLWFwaS1odHRwIOaPkuS7tlwiKTo6OmhpZ2hsaWdodCAgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb21tdW5pdHlzZGsgW1wi56S-5Yy6IFNES1wiXVxuICAgICAgICBsdWEoXCJMdWE6IGx1YS1taXJhaVwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWljb3JlYXBpXG4gICAgICAgIGRvdG5ldChcIi5OZXQvYyM6IEh5cGVyYWlcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBlKFwi5piT6K-t6KiAOiBlLW1pcmFpXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgdHlwZXNjcmlwdChcIlR5cGVTY3JpcHQ6IG1pcmFpLXRzXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgcnVzdChcIlJ1c3Q6IG1pcmFpLXJ1c3RcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBjc2hhcnAoXCJDIzogbWlyYWktQ1NoYXJwXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgY3BwKFwiQysrOiBtaXJhaS1jcHAvbWlyYWlwcFwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWlhcGlodHRwXG4gICAgICAgIHJoaW5vanMoXCJSaGlub0pTOiBtaXJhaS1yaGlub2pzLXNka1wiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWlhcGlodHRwXG4gICAgICAgIGdvKFwiR29sYW5nOiBnb21pcmFpXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgbm9kZWpzKFwiTm9kZUpTOiBub2RlanMtbWlyYWlcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBncmFpYShcIlB5dGhvbjogR3JhaWFGcmFtZXdvcmtcIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgIGVuZCIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9) - -注:lua-mirai 使用了 [luakt](https://github.com/only52607/luakt) 库实现 Lua 语言和 Kotlin 的直接交互,它是基于 mirai-core-api 的,与 mirai-api-http 没有任何关系。 +[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbnNvbGVwbHVnaW5zIFtcIk1pcmFpIENvbnNvbGUg5o-S5Lu2XCJdXG4gICAgICAgIHlvdXJtaXJhaXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgICAgICBjaGF0Y29tbWFuZChcImNoYXQtY29tbWFuZCDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgbWlyYWlhcGlodHRwKFwibWlyYWktYXBpLWh0dHAg5o-S5Lu2XCIpOjo6aGlnaGxpZ2h0ICAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbW11bml0eXNkayBbXCLnpL7ljLogU0RLXCJdXG4gICAgICAgIG1vcmUoXCIuLi5cIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBqcyhcIm1pcmFpLWpzXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAga3RzKFwibWlyYWkta3RzXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgcnMoXCJtaXJhaS1yc1wiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKG1pcmFpLWNvcmUtYXBpKTo6OmNvcmVoaWdobGlnaHRcbiAgICAgICAgbWlyYWljb3JlcXFhbmRyb2lkKFwibWlyYWktY29yZTxici8-KFFRQW5kcm9pZCDljY_orq4pXCIpXG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZCAtLT4gfOaPkOS-m-WNj-iurnxtaXJhaWNvcmVhcGlcbiAgICBlbmRcbiAgICBtaXJhaWludGVyZmFjZShcIuS9oOe8luWGmeeahDxici8-5py65Zmo5Lq656iL5bqPXCIpXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85o-Q5L6b5Z-656GA5Yqf6IO9fG1pcmFpaW50ZXJmYWNlXG4gICAgbWlyYWljb3JlYXBpIC0tPiB85bCB6KOF5Z-656GA5Yqf6IO9fG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICBzdWJncmFwaCBtaXJhaWNvbnNvbGUgW1wiTWlyYWkgQ29uc29sZVwiXVxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kKFwiQmFja0VuZFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC10ZXJtaW5hbChcIkZyb250RW5kOiB0ZXJtaW5hbFwiKVxuICAgICAgICBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkKFwiRnJvbnRFbmQ6IEFuZHJvaWRcIilcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZCAtLT4gbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbnNvbGVwbHVnaW5zIFtcIk1pcmFpIENvbnNvbGUg5o-S5Lu2XCJdXG4gICAgICAgIHlvdXJtaXJhaXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgICAgICBjaGF0Y29tbWFuZChcImNoYXQtY29tbWFuZCDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgbWlyYWlhcGlodHRwKFwibWlyYWktYXBpLWh0dHAg5o-S5Lu2XCIpOjo6aGlnaGxpZ2h0ICAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbW11bml0eXNkayBbXCLnpL7ljLogU0RLXCJdXG4gICAgICAgIG1vcmUoXCIuLi5cIik6OjpoaWdobGlnaHQgLS0-IG1pcmFpYXBpaHR0cFxuICAgICAgICBqcyhcIm1pcmFpLWpzXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAga3RzKFwibWlyYWkta3RzXCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWFwaWh0dHBcbiAgICAgICAgcnMoXCJtaXJhaS1yc1wiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kIiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifSwidXBkYXRlRWRpdG9yIjpmYWxzZX0) ## [mirai-native](https://github.com/iTXTech/mirai-native): 与 CoolQ 对接的一个通道 -如果你是 酷Q 用户,想在 Mirai 中使用 酷Q 插件,你可以使用 mirai-native 插件,它可以加载 CQP.dll 并兼容**大部分**酷Q插件,但**不支持** CPK 和解包的 DLL。 +如果你是 酷Q 用户,想在 Mirai 中使用 酷Q 插件,你可以使用 mirai-native 插件,它可以加载 CQP.dll 并兼容**大部分**酷Q 插件,但**不支持** CPK 和解包的 DLL。 不过 酷Q 已经停止提供服务,我们也不再建议使用 酷Q 的插件。 将 mirai-native 放入上述关系图: -[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsKFwiRnJvbnRFbmQ6IGdyYXBoaWNhbDxici8-KOW8gOWPkeS4rSlcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWdyYXBoaWNhbFxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kIC0tPiBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29uc29sZXBsdWdpbnMgW1wiTWlyYWkgQ29uc29sZSDmj5Lku7ZcIl1cbiAgICAgICAgeW91cm1pcmFpY29uc29sZXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgICAgICBtaXJhaWFwaWh0dHAoXCJtaXJhaS1hcGktaHR0cCDmj5Lku7ZcIikgIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG90aGVyc21pcmFpcGx1Z2luKFwi5YW25LuWIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpbmF0aXZlKFwibWlyYWktbmF0aXZlIOaPkuS7tlwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbW11bml0eXNkayBbXCLnpL7ljLogU0RLXCJdXG4gICAgICAgIGx1YShcIkx1YTogbHVhLW1pcmFpXCIpIC0tPiBtaXJhaWNvcmVhcGlcbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWluYXRpdmUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsKFwiRnJvbnRFbmQ6IGdyYXBoaWNhbDxici8-KOW8gOWPkeS4rSlcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWdyYXBoaWNhbFxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kIC0tPiBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29uc29sZXBsdWdpbnMgW1wiTWlyYWkgQ29uc29sZSDmj5Lku7ZcIl1cbiAgICAgICAgeW91cm1pcmFpY29uc29sZXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgICAgICBtaXJhaWFwaWh0dHAoXCJtaXJhaS1hcGktaHR0cCDmj5Lku7ZcIikgIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG90aGVyc21pcmFpcGx1Z2luKFwi5YW25LuWIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpbmF0aXZlKFwibWlyYWktbmF0aXZlIOaPkuS7tlwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbW11bml0eXNkayBbXCLnpL7ljLogU0RLXCJdXG4gICAgICAgIGx1YShcIkx1YTogbHVhLW1pcmFpXCIpIC0tPiBtaXJhaWNvcmVhcGlcbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWluYXRpdmUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ) +[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWljb25zb2xlcGx1Z2luKFwi5L2g57yW5YaZ55qEIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpYXBpaHR0cChcIm1pcmFpLWFwaS1odHRwIOaPkuS7tlwiKSAgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgb3RoZXJzbWlyYWlwbHVnaW4oXCLlhbbku5YgQ29uc29sZSDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgbWlyYWluYXRpdmUoXCJtaXJhaS1uYXRpdmUg5o-S5Lu2XCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29tbXVuaXR5c2RrIFtcIuekvuWMuiBTREtcIl1cbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWluYXRpdmUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWljb25zb2xlcGx1Z2luKFwi5L2g57yW5YaZ55qEIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpYXBpaHR0cChcIm1pcmFpLWFwaS1odHRwIOaPkuS7tlwiKSAgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgb3RoZXJzbWlyYWlwbHVnaW4oXCLlhbbku5YgQ29uc29sZSDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgbWlyYWluYXRpdmUoXCJtaXJhaS1uYXRpdmUg5o-S5Lu2XCIpOjo6aGlnaGxpZ2h0IC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29tbXVuaXR5c2RrIFtcIuekvuWMuiBTREtcIl1cbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKTo6OmhpZ2hsaWdodCAtLT4gbWlyYWluYXRpdmUiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ) ## [**mirai-console-loader**](https://github.com/iTXTech/mirai-console-loader): Mirai Console 的官方一键启动器 @@ -125,7 +119,7 @@ mirai-console-loader 应运而生,它的工作就是简化 console 启动流 将 mirai-console-loader 放入上述关系图: -[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsKFwiRnJvbnRFbmQ6IGdyYXBoaWNhbDxici8-KOW8gOWPkeS4rSlcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWdyYXBoaWNhbFxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kIC0tPiBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29uc29sZXBsdWdpbnMgW1wiTWlyYWkgQ29uc29sZSDmj5Lku7ZcIl1cbiAgICAgICAgeW91cm1pcmFpY29uc29sZXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgICAgICBtaXJhaWFwaWh0dHAoXCJtaXJhaS1hcGktaHR0cCDmj5Lku7ZcIikgIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG90aGVyc21pcmFpcGx1Z2luKFwi5YW25LuWIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpbmF0aXZlKFwibWlyYWktbmF0aXZlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbW11bml0eXNkayBbXCLnpL7ljLogU0RLXCJdXG4gICAgICAgIGx1YShcIkx1YTogbHVhLW1pcmFpXCIpIC0tPiBtaXJhaWNvcmVhcGlcbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKSAtLT4gbWlyYWluYXRpdmVcbiAgICBtaXJhaWNvbnNvbGVsb2FkZXIoXCJtaXJhaS1jb25zb2xlLWxvYWRlclwiKTo6OmhpZ2hsaWdodCAtLS0-IHzlkK_liqh8bWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICBtaXJhaW9rKFwiTWlyYWlPS1wiKTo6OmhpZ2hsaWdodCAtLS0-IHxcIuWQr-WKqCjkuI3mjqjojZApXCJ8bWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtZ3JhcGhpY2FsKFwiRnJvbnRFbmQ6IGdyYXBoaWNhbDxici8-KOW8gOWPkeS4rSlcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWdyYXBoaWNhbFxuICAgICAgICBtaXJhaWNvbnNvbGViYWNrZW5kIC0tPiBtaXJhaWNvbnNvbGVmcm9udGVuZC1hbmRyb2lkXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29uc29sZXBsdWdpbnMgW1wiTWlyYWkgQ29uc29sZSDmj5Lku7ZcIl1cbiAgICAgICAgeW91cm1pcmFpY29uc29sZXBsdWdpbihcIuS9oOe8luWGmeeahCBDb25zb2xlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgICAgICBtaXJhaWFwaWh0dHAoXCJtaXJhaS1hcGktaHR0cCDmj5Lku7ZcIikgIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG90aGVyc21pcmFpcGx1Z2luKFwi5YW25LuWIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpbmF0aXZlKFwibWlyYWktbmF0aXZlIOaPkuS7tlwiKSAtLT4gbWlyYWljb25zb2xlYmFja2VuZFxuICAgIGVuZFxuICAgIHN1YmdyYXBoIGNvbW11bml0eXNkayBbXCLnpL7ljLogU0RLXCJdXG4gICAgICAgIGx1YShcIkx1YTogbHVhLW1pcmFpXCIpIC0tPiBtaXJhaWNvcmVhcGlcbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKSAtLT4gbWlyYWluYXRpdmVcbiAgICBtaXJhaWNvbnNvbGVsb2FkZXIoXCJtaXJhaS1jb25zb2xlLWxvYWRlclwiKTo6OmhpZ2hsaWdodCAtLS0-IHzlkK_liqh8bWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiAgICBtaXJhaW9rKFwiTWlyYWlPS1wiKTo6OmhpZ2hsaWdodCAtLS0-IHxcIuWQr-WKqCjkuI3mjqjojZApXCJ8bWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ) +[![](https://mermaid.ink/img/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWljb25zb2xlcGx1Z2luKFwi5L2g57yW5YaZ55qEIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpYXBpaHR0cChcIm1pcmFpLWFwaS1odHRwIOaPkuS7tlwiKSAgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgb3RoZXJzbWlyYWlwbHVnaW4oXCLlhbbku5YgQ29uc29sZSDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgbWlyYWluYXRpdmUoXCJtaXJhaS1uYXRpdmUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29tbXVuaXR5c2RrIFtcIuekvuWMuiBTREtcIl1cbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKSAtLT4gbWlyYWluYXRpdmVcbiAgICBtaXJhaWNvbnNvbGVsb2FkZXIoXCJtaXJhaS1jb25zb2xlLWxvYWRlclwiKTo6OmhpZ2hsaWdodCAtLS0-IHzlkK_liqh8bWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiZmxvd2NoYXJ0IExSXG4gICAgY2xhc3NEZWYgY29yZWhpZ2hsaWdodCBmaWxsOiNmOTYsc3Ryb2tlOiMzMzMsc3Ryb2tlLXdpZHRoOjNweDtcbiAgICBjbGFzc0RlZiBoaWdobGlnaHQgZmlsbDojZjg4LHN0cm9rZTojMzMzLHN0cm9rZS13aWR0aDozcHhcbiAgICBzdWJncmFwaCBtaXJhaSBbXCJNaXJhaSDmoYbmnrZcIl1cbiAgICAgICAgbWlyYWljb3JlYXBpKFwibWlyYWktY29yZS1hcGlcIik6Ojpjb3JlaGlnaGxpZ2h0XG4gICAgICAgIG1pcmFpY29yZXFxYW5kcm9pZChcIm1pcmFpLWNvcmU8YnIvPihRUUFuZHJvaWQg5Y2P6K6uKVwiKVxuICAgICAgICBtaXJhaWNvcmVxcWFuZHJvaWQgLS0-IHzmj5DkvpvljY_orq58bWlyYWljb3JlYXBpXG4gICAgZW5kXG4gICAgbWlyYWlpbnRlcmZhY2UoXCLkvaDnvJblhpnnmoQ8YnIvPuacuuWZqOS6uueoi-W6j1wiKVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOaPkOS-m-WfuuehgOWKn-iDvXxtaXJhaWludGVyZmFjZVxuICAgIG1pcmFpY29yZWFwaSAtLT4gfOWwgeijheWfuuehgOWKn-iDvXxtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgc3ViZ3JhcGggbWlyYWljb25zb2xlIFtcIk1pcmFpIENvbnNvbGVcIl1cbiAgICAgICAgbWlyYWljb25zb2xlYmFja2VuZChcIkJhY2tFbmRcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWwoXCJGcm9udEVuZDogdGVybWluYWxcIilcbiAgICAgICAgbWlyYWljb25zb2xlZnJvbnRlbmQtYW5kcm9pZChcIkZyb250RW5kOiBBbmRyb2lkXCIpXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLXRlcm1pbmFsXG4gICAgICAgIG1pcmFpY29uc29sZWJhY2tlbmQgLS0-IG1pcmFpY29uc29sZWZyb250ZW5kLWFuZHJvaWRcbiAgICBlbmRcbiAgICBzdWJncmFwaCBjb25zb2xlcGx1Z2lucyBbXCJNaXJhaSBDb25zb2xlIOaPkuS7tlwiXVxuICAgICAgICB5b3VybWlyYWljb25zb2xlcGx1Z2luKFwi5L2g57yW5YaZ55qEIENvbnNvbGUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgICAgIG1pcmFpYXBpaHR0cChcIm1pcmFpLWFwaS1odHRwIOaPkuS7tlwiKSAgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgb3RoZXJzbWlyYWlwbHVnaW4oXCLlhbbku5YgQ29uc29sZSDmj5Lku7ZcIikgLS0-IG1pcmFpY29uc29sZWJhY2tlbmRcbiAgICAgICAgbWlyYWluYXRpdmUoXCJtaXJhaS1uYXRpdmUg5o-S5Lu2XCIpIC0tPiBtaXJhaWNvbnNvbGViYWNrZW5kXG4gICAgZW5kXG4gICAgc3ViZ3JhcGggY29tbXVuaXR5c2RrIFtcIuekvuWMuiBTREtcIl1cbiAgICAgICAgY29tbXVuaXR5c2RrYmFzZWVkb25taXJhaWFwaWh0dHAoXCLln7rkuo4gbWlyYWktYXBpLWh0dHAg55qE56S-5Yy6IFNES1wiKSAtLT4gbWlyYWlhcGlodHRwXG4gICAgZW5kXG4gICAgY29vbHFwbHVnaW5zKFwi6YW3UeaPkuS7tlwiKSAtLT4gbWlyYWluYXRpdmVcbiAgICBtaXJhaWNvbnNvbGVsb2FkZXIoXCJtaXJhaS1jb25zb2xlLWxvYWRlclwiKTo6OmhpZ2hsaWdodCAtLS0-IHzlkK_liqh8bWlyYWljb25zb2xlZnJvbnRlbmQtdGVybWluYWxcbiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In0sInVwZGF0ZUVkaXRvciI6ZmFsc2V9) ------