Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Him188 committed Jan 13, 2021
1 parent 7d3bcbe commit 7b5cbfc
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 19 deletions.
2 changes: 1 addition & 1 deletion docs/Bots.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,4 +179,4 @@ setLoginSolver(new YourLoginSolver())

> 下一步,[Contacts](Contacts.md)
>
> [回到 Mirai 文档索引](README.md)
> [回到 Mirai 文档索引](README.md#mirai-core-api-文档)
21 changes: 17 additions & 4 deletions docs/ConfiguringProjects.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

```kotlin
plugins {
kotlin("jvm") version "1.4.21"
kotlin("jvm") version "1.4.21" // 请确保添加 Kotlin,至少使用 1.4.0 版本
}

repositories {
Expand All @@ -47,15 +47,19 @@ dependencies {
}
```

注意,必须添加 Kotlin 插件才能正确获取 mirai 软件包。
**注意,必须添加 Kotlin 插件才能正确获取 mirai 软件包。**

> 依赖配置完成,请选择:
> - [分离 API 和实现(可选)](#分离-api-和实现可选)
> - [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
### Gradle Groovy DSL

`build.gradle` 添加

```groovy
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.4.21'
id 'org.jetbrains.kotlin.jvm' version '1.4.21' // 请确保添加 Kotlin,至少使用 1.4.0 版本
}
repositories {
Expand All @@ -67,9 +71,13 @@ dependencies {
}
```

> 依赖配置完成,请选择:
> - [分离 API 和实现(可选)](#分离-api-和实现可选)
> - [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
### 分离 API 和实现(可选)

mirai 在开发时需要 `net.mamoe:mirai-core-api`, 在运行时需要 `net.mamoe:mirai-core`。可以在开发和编译时只依赖 `mirai-core-api`
mirai 在开发时需要 `net.mamoe:mirai-core-api`, 在运行时需要 `net.mamoe:mirai-core`。可以在开发和编译时只依赖 `mirai-core-api`,会减轻对 IDE 的负担
```kotlin
dependencies {
val miraiVersion = "2.0-RC" // 替换为你需要的版本号
Expand Down Expand Up @@ -126,8 +134,13 @@ dependencies {

> 可以在 [Kotlin 官方文档](https://www.kotlincn=.net/docs/reference/using-maven.html) 获取更多有关配置 Kotlin 的信息。

> 依赖配置完成,[回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
## C. 下载 JAR 包

非常不推荐这种方法,请尽可能使用构建工具。

[Jcenter](https://jcenter.bintray.com/net/mamoe/mirai-core-all/)[阿里云代理仓库](https://maven.aliyun.com/repository/public/net/mamoe/mirai-core-all/) 下载指定版本的 `-all.jar` 文件,即包含 `mirai-core``mirai-core-api``mirai-core-utils` 和其他依赖。

> [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
21 changes: 17 additions & 4 deletions docs/Contacts.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,26 @@

[![](https://mermaid.ink/img/eyJjb2RlIjoiY2xhc3NEaWFncmFtXG5cbmNsYXNzIEJvdCB7XG4gICAgK2ZyaWVuZHM6IENvbnRhY3RMaXN0XG4gICAgK2dyb3VwczogQ29udGFjdExpc3RcbiAgICArZ2V0RnJpZW5kKExvbmcpIEZyaWVuZD9cbiAgICArZ2V0RnJpZW5kT3JOdWxsKExvbmcpIEZyaWVuZFxuICAgICtnZXRHcm91cChMb25nKSBHcm91cD9cbiAgICArZ2V0R3JvdXBPckZhaWwoTG9uZykgR3JvdXBcbiAgICArbG9naW4oKVxuICAgICtjbG9zZSgpXG59XG5cbmNsYXNzIENvbnRhY3RPckJvdCB7XG4gICAgK2lkOiBJbnRcbiAgICArYXZhdGFyVXJsOiBTdHJpbmdcbn1cblxuY2xhc3MgVXNlck9yQm90IHtcbiAgICArbnVkZ2UoKSBOdWRnZVxufVxuXG5jbGFzcyBDb250YWN0IHtcbiAgICArYm90OiBCb3RcbiAgICArc2VuZE1lc3NhZ2UoTWVzc2FnZSkgTWVzc2FnZVJlY2VpcHRcbiAgICArc2VuZE1lc3NhZ2UoU3RyaW5nKSBNZXNzYWdlUmVjZWlwdFxuICAgICt1cGxvYWRJbWFnZShFeHRlcm5hbEltYWdlKSBJbWFnZVxufVxuXG5jbGFzcyBVc2VyIHtcbiAgICArbmljazogU3RyaW5nXG4gICAgK3JlbWFyazogU3RyaW5nXG59XG5cbmNsYXNzIEdyb3VwIHtcbiAgICArbWVtYmVyczogQ29udGFjdExpc3RcbiAgICArbmFtZTogU3RyaW5nXG4gICAgK3NldHRpbmdzOiBHcm91cFNldHRpbmdzXG4gICAgK293bmVyOiBOb3JtYWxNZW1iZXJcbiAgICArYm90TXV0ZVJlbWFpbmluZzogTG9uZ1xuICAgICtib3RQZXJtaXNzaW9uOiBNZW1iZXJQZXJtaXNzaW9uXG4gICAgK3F1aXQoKSBCb29sZWFuXG4gICAgK3VwbG9hZFZvaWNlKCkgVm9pY2Vcbn1cblxuY2xhc3MgTm9ybWFsTWVtYmVyIHtcbiAgICArbXV0ZSgpXG4gICAgK2tpY2soKVxufVxuXG5jbGFzcyBBbm9ueW1vdXNNZW1iZXIge1xuICAgICthbm9ueW1vdXNJZDogU3RyaW5nXG59XG5cbmNsYXNzIE1lbWJlciB7XG4gICAgK2dyb3VwOiBHcm91cFxufVxuXG5Db250YWN0T3JCb3Q8fC0tQ29udGFjdFxuQ29udGFjdE9yQm90PHwtLVVzZXJPckJvdFxuXG5Vc2VyT3JCb3Q8fC0tQm90XG5Vc2VyT3JCb3Q8fC0tVXNlclxuXG5Db250YWN0PHwtLVVzZXJcbkNvbnRhY3Q8fC0tR3JvdXBcblxuVXNlcjx8LS1NZW1iZXJcblVzZXI8fC0tRnJpZW5kXG5cbk1lbWJlcjx8LS1Ob3JtYWxNZW1iZXJcbk1lbWJlcjx8LS1Bbm9ueW1vdXNNZW1iZXIiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)](https://mermaid-js.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoiY2xhc3NEaWFncmFtXG5cbmNsYXNzIEJvdCB7XG4gICAgK2ZyaWVuZHM6IENvbnRhY3RMaXN0XG4gICAgK2dyb3VwczogQ29udGFjdExpc3RcbiAgICArZ2V0RnJpZW5kKExvbmcpIEZyaWVuZD9cbiAgICArZ2V0RnJpZW5kT3JOdWxsKExvbmcpIEZyaWVuZFxuICAgICtnZXRHcm91cChMb25nKSBHcm91cD9cbiAgICArZ2V0R3JvdXBPckZhaWwoTG9uZykgR3JvdXBcbiAgICArbG9naW4oKVxuICAgICtjbG9zZSgpXG59XG5cbmNsYXNzIENvbnRhY3RPckJvdCB7XG4gICAgK2lkOiBJbnRcbiAgICArYXZhdGFyVXJsOiBTdHJpbmdcbn1cblxuY2xhc3MgVXNlck9yQm90IHtcbiAgICArbnVkZ2UoKSBOdWRnZVxufVxuXG5jbGFzcyBDb250YWN0IHtcbiAgICArYm90OiBCb3RcbiAgICArc2VuZE1lc3NhZ2UoTWVzc2FnZSkgTWVzc2FnZVJlY2VpcHRcbiAgICArc2VuZE1lc3NhZ2UoU3RyaW5nKSBNZXNzYWdlUmVjZWlwdFxuICAgICt1cGxvYWRJbWFnZShFeHRlcm5hbEltYWdlKSBJbWFnZVxufVxuXG5jbGFzcyBVc2VyIHtcbiAgICArbmljazogU3RyaW5nXG4gICAgK3JlbWFyazogU3RyaW5nXG59XG5cbmNsYXNzIEdyb3VwIHtcbiAgICArbWVtYmVyczogQ29udGFjdExpc3RcbiAgICArbmFtZTogU3RyaW5nXG4gICAgK3NldHRpbmdzOiBHcm91cFNldHRpbmdzXG4gICAgK293bmVyOiBOb3JtYWxNZW1iZXJcbiAgICArYm90TXV0ZVJlbWFpbmluZzogTG9uZ1xuICAgICtib3RQZXJtaXNzaW9uOiBNZW1iZXJQZXJtaXNzaW9uXG4gICAgK3F1aXQoKSBCb29sZWFuXG4gICAgK3VwbG9hZFZvaWNlKCkgVm9pY2Vcbn1cblxuY2xhc3MgTm9ybWFsTWVtYmVyIHtcbiAgICArbXV0ZSgpXG4gICAgK2tpY2soKVxufVxuXG5jbGFzcyBBbm9ueW1vdXNNZW1iZXIge1xuICAgICthbm9ueW1vdXNJZDogU3RyaW5nXG59XG5cbmNsYXNzIE1lbWJlciB7XG4gICAgK2dyb3VwOiBHcm91cFxufVxuXG5Db250YWN0T3JCb3Q8fC0tQ29udGFjdFxuQ29udGFjdE9yQm90PHwtLVVzZXJPckJvdFxuXG5Vc2VyT3JCb3Q8fC0tQm90XG5Vc2VyT3JCb3Q8fC0tVXNlclxuXG5Db250YWN0PHwtLVVzZXJcbkNvbnRhY3Q8fC0tR3JvdXBcblxuVXNlcjx8LS1NZW1iZXJcblVzZXI8fC0tRnJpZW5kXG5cbk1lbWJlcjx8LS1Ob3JtYWxNZW1iZXJcbk1lbWJlcjx8LS1Bbm9ueW1vdXNNZW1iZXIiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9LCJ1cGRhdGVFZGl0b3IiOmZhbHNlfQ)

| 类型 | 描述 | 最低支持的版本 |
|:--------------:|:---------------------------------------------------|:-----------:|
| `ContactOrBot` | `Contact``Bot` 的公共接口 | 2.0 |
| `OtherClient` | Bot 的*其他客户端*, 如 "我的 iPad", "我的电脑" | 2.0 |
| `Bot` | 机器人对象 | 2.0 |
| `Contact` | 联系人对象, 即所有的群, 好友, 陌生人, 群成员等 | 2.0 |
| `Group` | 群对象 | 2.0 |
| `User` | 用户对象, 即 "个人". 包含好友, 陌生人, 群成员, 临时会话用户 | 2.0 |
| `Friend` | 好友对象 | 2.0 |
| `Stranger` | 陌生人对象 | 2.0 |
| `Member` | 群成员对象, 属于一个 `Group`. | 2.0 |

基于面向对象的设计,可直接获取 `Contact` 的属性如 `nick``permission`
基于面向对象的设计,可直接获取 `Contact` 的属性如 `nick``permission`请在实践时在接口源码内查看更清晰的说明。

要主动发送一条消息,调用 `Contact.sendMessage()` 即可*(后文介绍*
要主动发送一条消息,总是调用 `Contact.sendMessage(message)`*`message` 在后文介绍*

可通过 `Bot.getFriend``Bot.getGroup` 获取相关对象,也可以通过事件获取*(后文介绍)*
可通过 `Bot.getFriend``Bot.getGroup``Bot.getStranger` 获取相关对象,也可以通过事件获取 *(事件在后文介绍)*

----

> 下一步,[Events](Events.md)
>
> [回到 Mirai 文档索引](README.md)
> [回到 Mirai 文档索引](README.md#mirai-core-api-文档)
4 changes: 3 additions & 1 deletion docs/Events.md
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,8 @@ reply("复读模式结束")
######  

----

> 下一步,[Messages](Messages.md)
>
> [回到 Mirai 文档索引](README.md)
> [回到 Mirai 文档索引](README.md#mirai-core-api-文档)
4 changes: 3 additions & 1 deletion docs/Evolution.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,6 @@ Mirai 的版本号遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/#



> [回到 Mirai 文档索引](README.md)
----

> [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
7 changes: 6 additions & 1 deletion docs/KotlinAndJava.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,4 +300,9 @@ public final class A {
}
```

Java 使用者可以认为 `@JvmBlockingBridge suspend fun getValue(): String` 相当于 `fun getValue(): String`
Java 使用者可以认为 `@JvmBlockingBridge suspend fun getValue(): String` 相当于 `fun getValue(): String`


----

> [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
10 changes: 8 additions & 2 deletions docs/Messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,9 +309,15 @@ val chain = "[mirai:atall]".deserializeMiraiCode()
MessageChain chain = MiraiCode.deserializeFromMiraiCode("[mirai:atall]");
```

> 回到 [目录](#目录)

---------

到这里,你已经完成了 Mirai 所有文档的阅读。现在你已经熟悉了 Mirai,并可以开始使用了。

你可以首先构造 Bot,登录,然后从监听事件起开始创建你的机器人,或从 Bot 获取到指定群主动发送消息。在使用中遇到问题可以参考 Mirai 源码内注释,该注释会包含更多实践上的帮助。

如果你仍然对 Mirai 架构有不明确的地方,欢迎在 [#848](https://github.com/mamoe/mirai/discussions/848) 提出建议,或者直接在 PR 提交你的修改。

> 回到 [目录](#目录)
>
> [回到 Mirai 文档索引](README.md)
> [回到 Mirai 文档索引](README.md#mirai-core-api-文档)
9 changes: 7 additions & 2 deletions docs/Preparations.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,15 @@

*如果你不知道这俩是什么,都安装就对了。*

## 前置知识
### Kotlin

Kotlin 是[让开发人员更快乐的一门现代编程语言](https://www.kotlincn.net/),由 [IntelliJ IDEA](https://www.jetbrains.com/idea/) 的开发公司 [JetBrains](https://www.jetbrains.com/) 维护,被 Google 推举为 Android 首选编程语言。

使用 Mirai 是一个不错的学习 Kotlin 机会,使用者有兴趣可以在 [官方中文文档](https://www.kotlincn.net/docs/reference/) 学习 Kotlin。

Java 开发者如果只希望使用 Mirai 而不学习 Kotlin,也请阅读 [Kotlin 定义对应的 Java 定义](KotlinAndJava.md)(5 分钟)。
Java 开发者如果只希望使用 Mirai 而不学习 Kotlin,也请阅读 [Kotlin 定义对应的 Java 定义](KotlinAndJava.md)(5 分钟)。


----

> [回到 Mirai 文档索引](README.md#jvm-平台-mirai-开发)
6 changes: 5 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
**Mirai 文档没有废话,请务必仔细阅读每一个字。仔细阅读文档花费的 1 分钟可能相当于不阅读文档而自己摸索解决办法的 1 小时。**

1. [JVM 环境和开发准备工作(2 分钟)](Preparations.md#mirai---preparations)
2. 配置项目依赖
2. **配置项目依赖**
- 要把 mirai-core 嵌入一个应用使用,请阅读 [配置项目依赖](ConfiguringProjects.md)
- 要为 [`mirai-console`] 框架开发插件,请阅读 [mirai-console 的配置插件项目](https://github.com/mamoe/mirai-console/blob/master/docs/ConfiguringProjects.md)
3. 阅读 API 文档(见下文)
Expand All @@ -71,7 +71,11 @@

### mirai-core API 文档

> *适用于 2.x 版本*
- [Bots](Bots.md)
- [Contacts](Contacts.md)
- [Events](Events.md)
- [Messages](Messages.md)

> 希望改进文档? 请在 [#848](https://github.com/mamoe/mirai/discussions/848) 提出建议
4 changes: 2 additions & 2 deletions docs/mirai-ecology.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ mirai-console-loader 应运而生,它的工作就是简化 console 启动流

------

以上就是整个 Mirai 生态的概览,如有疏漏或错误,欢迎提出 Issue 修正。
本文作者 [@StageGuard](https://github.com/StageGuard)如有疏漏或错误,欢迎[提出 Issue](https://github.com/mamoe/mirai/issues/new) 修正。

实体关系图采用 [Mermaid](https://github.com/mermaid-js/mermaid) 绘制。

> [回到 Mirai 文档索引](README.md)
> [回到 Mirai 文档索引](README.md#mirai-core-api-文档)

0 comments on commit 7b5cbfc

Please sign in to comment.