mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-09 18:00:33 +08:00
Update docs
This commit is contained in:
parent
f0f2f901be
commit
a81cd2239c
@ -27,11 +27,11 @@ Mirai 是一个在全平台下运行,提供 QQ 协议支持的高效率机器
|
||||
|
||||
### 安装 JAR 插件
|
||||
|
||||
将 `jar` 文件放入 `plugins` 并重启 Mirai Console 即可。
|
||||
将 `jar` 文件放入 `plugins` 并重启 Mirai Console。
|
||||
|
||||
### 执行指令
|
||||
|
||||
在控制台输入 `?` 查看可用指令列表。
|
||||
在控制台输入 `?` 查看可用指令列表。**注意,请先为用户授予执行某些指令的权限,详见 [示例](docs/BuiltInCommands.md#授予一个用户执行所有指令的权限)**。
|
||||
|
||||
### 内置指令
|
||||
|
||||
|
@ -167,8 +167,8 @@ public interface MiraiConsoleImplementation : CoroutineScope {
|
||||
/**
|
||||
* 创建一个 [MiraiLogger].
|
||||
*
|
||||
* **注意**: [MiraiConsole] 会将 [net.mamoe.mirai.utils.DefaultLogger] 设置为 `MiraiConsole::createLogger`.
|
||||
* 因此不要在 [createLogger] 中调用 [net.mamoe.mirai.utils.DefaultLogger]
|
||||
* **注意**: [MiraiConsole] 会将 [net.mamoe.mirai.utils.MiraiLogger.setDefaultLoggerCreator] 设置为 `MiraiConsole::createLogger`.
|
||||
* 因此不要在 [createLogger] 中调用 [net.mamoe.mirai.utils.MiraiLogger.create]
|
||||
*/
|
||||
public fun createLogger(identity: String?): MiraiLogger
|
||||
|
||||
|
@ -44,6 +44,20 @@ Mirai Console 内置一些指令。
|
||||
|
||||
示例:`/perm permit u123456 console:command.stop`
|
||||
|
||||
### 授予一个用户执行所有指令的权限
|
||||
|
||||
示例:
|
||||
- `/perm permit u123456 *:*` 允许用户 123456 执行任意指令
|
||||
- `/perm permit u123456 console:*` 允许用户 123456 执行任意 Console 内置指令
|
||||
- `/perm permit u123456 org.example.my-plugin:*` 允许用户 123456 执行插件 `org.example.my-plugin` 的任意指令
|
||||
|
||||
### 授予所有用户执行某个指令的权限
|
||||
|
||||
示例:
|
||||
- `/perm permit u* console:command.help` 允许所有用户执行 `console:command.help`(即 `/help`)
|
||||
- `/perm permit u* console:*` 允许所有用户执行任意 Console 内置指令
|
||||
- `/perm permit u* org.example.my-plugin:*` 允许所有用户执行插件 `org.example.my-plugin` 的任意指令
|
||||
|
||||
## AutoLoginCommand
|
||||
|
||||
主指令: `/autoLogin`
|
||||
|
@ -263,4 +263,12 @@ ConsoleCommandSender AbstractUserCommandSender |
|
||||
|
||||
表示几个消息对象的’域‘,即消息对象的集合。用于最小化将同一条消息发送给多个类型不同的目标的付出。
|
||||
|
||||
参考 [MessageScope](../backend/mirai-console/src/util/MessageScope.kt#L28-L99)
|
||||
参考 [MessageScope](../backend/mirai-console/src/util/MessageScope.kt#L28-L99)
|
||||
|
||||
|
||||
----
|
||||
|
||||
> 下一步,[PluginData](PluginData.md#mirai-console-backend---plugindata)
|
||||
>
|
||||
> 返回 [开发文档索引](README.md#mirai-console)
|
||||
|
||||
|
@ -58,6 +58,10 @@ plugins {
|
||||
|
||||
完成。Mirai Console Gradle 插件会为你配置依赖等所有编译环境。
|
||||
|
||||
可以在 [README](../tools/gradle-plugin/README.md#mirai-console-gradle-plugin) 获取详细的 Gradle 插件使用方法,**如配置 mirai-core 版本**。
|
||||
|
||||
> 现在你已经配置好了项目,返回 [开发文档索引](README.md#mirai-console)
|
||||
|
||||
### 手动配置项目
|
||||
|
||||
添加依赖:
|
||||
@ -77,3 +81,6 @@ dependencies {
|
||||
|
||||
之后还需要配置 Kotlin `jvm-default` 编译参数,Kotlin 和 Java 的编译目标等。
|
||||
在打包插件时必须将依赖一并打包进插件 JAR,且排除 `mirai-core`,`mirai-console` 和它们的间接依赖,否则插件不会被加载。
|
||||
|
||||
> 现在你已经配置好了项目,返回 [开发文档索引](README.md#mirai-console)
|
||||
|
||||
|
@ -22,7 +22,7 @@ kotlin.sourceSets.all {
|
||||
|
||||
[`MiraiConsole`] 是后端的公开对象,由 [MiraiConsoleImplementationBridge](../backend/mirai-console/src/internal/MiraiConsoleImplementationBridge.kt) 代理,与前端链接。
|
||||
|
||||
前端需要实现 [MiraiConsoleImplementation.kt](../backend/mirai-console/src/MiraiConsoleImplementation)。
|
||||
前端需要实现 [MiraiConsoleImplementation.kt](../backend/mirai-console/src/MiraiConsoleImplementation.kt)。
|
||||
|
||||
由于实现前端需要一定的技术能力,相信实现者都能理解源码内注释。
|
||||
|
||||
|
@ -27,7 +27,7 @@ interface Permission {
|
||||
|
||||
「权限」表示的意义是 “做一项工作的能力”。如 “执行指令 /stop”,“操作数据库” 都叫作权限。
|
||||
|
||||
[`Permission`] 对象由 Console 内置或者由特定权限插件实现。其他插件不能实现 [`Permission`] 接口。
|
||||
[`Permission`] 对象由 Console 内置或者由特定权限插件实现。其他插件不能实现 [`Permission`] 接口,只能从 `PermissionService` 注册并获取。
|
||||
|
||||
### 权限 ID
|
||||
|
||||
@ -154,7 +154,7 @@ fun Permission.testPermission(PermitteeId): Boolean
|
||||
// ...
|
||||
```
|
||||
|
||||
请查看 [`PermissionService`] 中的伴生对象。
|
||||
在 Java,请查看 [`PermissionService`] 中的伴生对象。
|
||||
|
||||
### 注册权限
|
||||
|
||||
@ -178,3 +178,10 @@ fun Permission.testPermission(PermitteeId): Boolean
|
||||
```
|
||||
|
||||
其中, 被许可人 ID 使用 [字符串表示](#字符串表示), 权限 ID 参见 [权限 ID](#权限-id)
|
||||
|
||||
----
|
||||
|
||||
> 这是文档的最后一个章节。
|
||||
>
|
||||
> 返回 [开发文档索引](README.md#mirai-console)
|
||||
|
||||
|
@ -243,4 +243,11 @@ value[bot] = listOf()
|
||||
|
||||
[`PluginData`] 的存储仓库,将 [`PluginData`] 从内存序列化到文件或到数据库,或反之。
|
||||
|
||||
内置的实现包含:[`MultiFilePluginDataStorage`], [`MemoryPluginDataStorage`]
|
||||
内置的实现包含:[`MultiFilePluginDataStorage`], [`MemoryPluginDataStorage`]
|
||||
|
||||
----
|
||||
|
||||
> 下一步,[Permissions](Permissions.md#mirai-console-backend---permissions)
|
||||
>
|
||||
> 返回 [开发文档索引](README.md#mirai-console)
|
||||
|
||||
|
@ -415,4 +415,9 @@ object MyData : AutoSavePluginData() {
|
||||
*TODO*
|
||||
|
||||
### 附录:Java 插件的多线程调度器 - [`JavaPluginScheduler`]
|
||||
拥有生命周期管理的简单 Java 线程池。其中所有的任务都会在插件被关闭时自动停止。
|
||||
拥有生命周期管理的简单 Java 线程池。其中所有的任务都会在插件被关闭时自动停止。
|
||||
|
||||
> 下一步,[Commands](Commands.md#mirai-console-backend---commands)
|
||||
>
|
||||
> 返回 [开发文档索引](README.md#mirai-console)
|
||||
|
||||
|
@ -8,13 +8,14 @@ Mirai Console Gradle 插件。
|
||||
|
||||
## 功能
|
||||
|
||||
- 为 `main` 源集配置 `mirai-core`,`mirai-console` 依赖
|
||||
- 为 `test` 源集配置 `mirai-core-qqandroid`, `mirai-console-terminal` 的依赖 (用于启动测试)
|
||||
- 配置 Kotlin 编译目标为 Java 1.8
|
||||
- 为 `main` 源集配置 `mirai-core-api`,`mirai-console` 依赖
|
||||
- 为 `test` 源集配置 `mirai-core`, `mirai-console-terminal` 的依赖 (用于启动测试)
|
||||
- 配置 Kotlin 编译目标为 1.8
|
||||
- 配置 Kotlin 编译器 jvm-default 设置为 `all`, 即为所有接口中的默认实现生成 Java 1.8 起支持的 `default` 方法
|
||||
- 配置 Java 编译目标为 Java 1.8
|
||||
- 配置 Java 编译目标为 1.8
|
||||
- 配置 Java 编译编码为 UTF-8
|
||||
- 配置插件 JAR 打包构建任务 `buildPlugin`(带依赖, 成品 JAR 可以被 Mirai Console 加载)
|
||||
- 配置插件 JAR 发布任务 `publishPlugin`(到 Bintray)
|
||||
|
||||
支持 Kotlin 多平台项目(Multiplatform Projects)。每个 JVM 或 Android 目标平台都会被如上配置,对应打包任务带有编译目标的名称,如 `buildPluginJvm`
|
||||
|
||||
@ -34,12 +35,28 @@ Mirai Console Gradle 插件。
|
||||
若要修改 Mirai Console Gradle 插件的默认配置,在 `build.gradle.kts` 或 `build.gradle` 内,使用 `mirai`:
|
||||
```kotlin
|
||||
mirai { // this: MiraiConsoleExtension
|
||||
// 配置
|
||||
// 配置,例如
|
||||
coreVersion = "2.0-RC" // 修改 mirai-core 版本
|
||||
}
|
||||
```
|
||||
|
||||
DSL 详见 [MiraiConsoleExtension](src/MiraiConsoleExtension.kt)。
|
||||
|
||||
### `publishPlugin`
|
||||
|
||||
配置好 Bintray 参数,使用 `./gradlew publishPlugin` 可自动发布并上传插件到 Bintray。
|
||||
|
||||
如果仓库是公开的,上传的插件在未来可以被 [mirai-console-loader](https://github.com/iTXTech/mirai-console-loader) 自动识别并展示在社区插件列表中。
|
||||
|
||||
```kotlin
|
||||
mirai {
|
||||
publishing {
|
||||
repo = "mirai"
|
||||
packageName = "chat-command"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 排除依赖
|
||||
|
||||
如果要在打包 JAR(`buildPlugin`)时排除一些依赖,请使用如下配置:
|
||||
|
Loading…
Reference in New Issue
Block a user