Skip to content

Commit

Permalink
adjust docs
Browse files Browse the repository at this point in the history
  • Loading branch information
shigma committed Sep 25, 2021
1 parent 541a6b3 commit 210d29b
Show file tree
Hide file tree
Showing 21 changed files with 111 additions and 130 deletions.
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,25 +67,25 @@ Koishi 原生地支持了多账户与跨平台,同时为这些机器人之间

Koishi v3 的另一大亮点就是拥有官方的网页控制台插件。这个控制台包含了非常多的功能:查看机器人运行状态、收集并展示统计数据、管理你的插件和依赖……

这个控制台本身的也提供了接口,允许其他插件来新增页面。当你安装了另一个插件 koishi-plugin-chat 之后,你甚至可以利用控制台,直接使用机器人的号进行聊天!
这个控制台本身的也提供了接口,允许其他插件来新增页面。当你安装了另一个插件 @koishijs/plugin-chat 之后,你甚至可以利用控制台,直接使用机器人的号进行聊天!

## 官方生态

### 平台支持

- koishi-adapter-onebot: [OneBot](https://github.com/howmanybots/onebot) 协议支持,可用于 QQ
- koishi-adapter-discord: [Discord](https://discord.com/) 平台支持
- koishi-adapter-telegram: [Telegram](https://telegram.org/) 平台支持
- koishi-adapter-kaiheila: [开黑啦](https://kaiheila.cn/) 平台支持
- @koishijs/plugin-onebot: [OneBot](https://github.com/howmanybots/onebot) 协议支持,可用于 QQ
- @koishijs/plugin-discord: [Discord](https://discord.com/) 平台支持
- @koishijs/plugin-telegram: [Telegram](https://telegram.org/) 平台支持
- @koishijs/plugin-kaiheila: [开黑啦](https://kaiheila.cn/) 平台支持

### 数据库支持

- koishi-plugin-mongo: MongoDB 支持
- koishi-plugin-mysql: MySQL 5.7 / MariaDB 10.5 支持
- @koishijs/plugin-mongo: MongoDB 支持
- @koishijs/plugin-mysql: MySQL 5.7 / MariaDB 10.5 支持

### 核心插件

[koishi-plugin-common](https://koishi.js.org/plugins/common/) 是一个插件合集,包含了一些最常用功能:
[@koishijs/plugin-common](https://koishi.js.org/plugins/common/) 是一个插件合集,包含了一些最常用功能:

- 发送和广播消息
- 管理用户和频道数据
Expand All @@ -94,20 +94,20 @@ Koishi v3 的另一大亮点就是拥有官方的网页控制台插件。这个
- 输出聊天记录到控制台
- 定制复读,处理申请,自定义回复……

[koishi-plugin-eval](https://koishi.js.org/plugins/eval/) 允许用户直接使用机器人执行脚本。它利用了 Node.js 的 [vm](https://nodejs.org/api/vm.html)[worker_threads](https://nodejs.org/api/worker_threads.html) 模块,在保护执行安全的前提下能够获得较快的响应速度。同时,插件还提供了一些内置的 API 供用户调用,并允许用户编写自己的模块并永久保存,甚至可以动态定义新的指令。
[@koishijs/plugin-eval](https://koishi.js.org/plugins/eval/) 允许用户直接使用机器人执行脚本。它利用了 Node.js 的 [vm](https://nodejs.org/api/vm.html)[worker_threads](https://nodejs.org/api/worker_threads.html) 模块,在保护执行安全的前提下能够获得较快的响应速度。同时,插件还提供了一些内置的 API 供用户调用,并允许用户编写自己的模块并永久保存,甚至可以动态定义新的指令。

[koishi-plugin-teach](https://koishi.js.org/plugins/teach/) 允许用户在运行时编写问答并由机器人触发。每个人都可以随时随地修改机器人的行为,大大提高了互动的灵活性。支持概率控制、称呼匹配、指令插值、权限管理、频道过滤、正则匹配、后继问答等多种功能,足以应对绝大部分使用场景。
[@koishijs/plugin-teach](https://koishi.js.org/plugins/teach/) 允许用户在运行时编写问答并由机器人触发。每个人都可以随时随地修改机器人的行为,大大提高了互动的灵活性。支持概率控制、称呼匹配、指令插值、权限管理、频道过滤、正则匹配、后继问答等多种功能,足以应对绝大部分使用场景。

### 其他官方插件

- [koishi-plugin-assets](https://koishi.js.org/plugins/other/assets.html) / 资源转存
- [koishi-plugin-chess](https://koishi.js.org/plugins/other/chess.html) / 棋类游戏
- [koishi-plugin-github](https://koishi.js.org/plugins/other/github.html) / 接入 GitHub
- [koishi-plugin-image-search](https://koishi.js.org/plugins/other/image-search.html) / 图片搜索
- [koishi-plugin-puppeteer](https://koishi.js.org/plugins/other/puppeteer.html) / 网页截图
- [koishi-plugin-schedule](https://koishi.js.org/plugins/other/schedule.html) / 计划任务
- [koishi-plugin-tools](https://koishi.js.org/plugins/other/tools.html) / 实用工具
- [koishi-plugin-webui](https://koishi.js.org/plugins/other/webui.html) / 网页控制台
- [@koishijs/plugin-assets](https://koishi.js.org/plugins/other/assets.html) / 资源转存
- [@koishijs/plugin-chess](https://koishi.js.org/plugins/other/chess.html) / 棋类游戏
- [@koishijs/plugin-github](https://koishi.js.org/plugins/other/github.html) / 接入 GitHub
- [@koishijs/plugin-image-search](https://koishi.js.org/plugins/other/image-search.html) / 图片搜索
- [@koishijs/plugin-puppeteer](https://koishi.js.org/plugins/other/puppeteer.html) / 网页截图
- [@koishijs/plugin-schedule](https://koishi.js.org/plugins/other/schedule.html) / 计划任务
- [@koishijs/plugin-tools](https://koishi.js.org/plugins/other/tools.html) / 实用工具
- [@koishijs/plugin-webui](https://koishi.js.org/plugins/other/webui.html) / 网页控制台

## 应用案例

Expand Down
12 changes: 6 additions & 6 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,12 @@ module.exports = {
text: '更多',
isGroup: true,
children: [
'/guide/advanced/cli.md',
'/guide/advanced/logger.md',
'/guide/advanced/unit-tests.md',
'/guide/advanced/decorator.md',
'/guide/advanced/docker.md',
'/guide/faq.md',
'/guide/misc/cli.md',
'/guide/misc/logger.md',
'/guide/misc/unit-tests.md',
'/guide/misc/decorator.md',
'/guide/misc/docker.md',
'/guide/misc/faq.md',
],
}],
'/api': [{
Expand Down
2 changes: 1 addition & 1 deletion docs/api/adapter/discord.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 平台:Discord
sidebarDepth: 2
---

# koishi-adapter-discord
# @koishijs/plugin-discord

## 创建机器人

Expand Down
2 changes: 1 addition & 1 deletion docs/api/adapter/kaiheila.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 平台:Kaiheila
sidebarDepth: 2
---

# koishi-adapter-kaiheila
# @koishijs/plugin-kaiheila

## 创建机器人

Expand Down
8 changes: 4 additions & 4 deletions docs/api/adapter/onebot.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ title: 平台:OneBot
sidebarDepth: 2
---

# koishi-adapter-onebot
# @koishijs/plugin-onebot

::: warning
尽管 Koishi 使用了 [MIT](https://choosealicense.com/licenses/mit/) 协议,但 OneBot 相关框架普遍使用了基于 [AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/) 的协议。因此如果你使用 koishi-adapter-onebot 运行你的机器人,你将可能受到 AGPL 3.0 协议的限制,必须将你的代码开源并保持同协议。Koishi 及其作者对使用上述框架或违反上述限制的行为所可能造成的一切后果概不负责。
尽管 Koishi 使用了 [MIT](https://choosealicense.com/licenses/mit/) 协议,但 OneBot 相关框架普遍使用了基于 [AGPL 3.0](https://choosealicense.com/licenses/agpl-3.0/) 的协议。因此如果你使用 @koishijs/plugin-onebot 运行你的机器人,你将可能受到 AGPL 3.0 协议的限制,必须将你的代码开源并保持同协议。Koishi 及其作者对使用上述框架或违反上述限制的行为所可能造成的一切后果概不负责。
:::

[OneBot](https://github.com/howmanybots/onebot) (旧名 CQHTTP) 是一个聊天机器人应用接口标准,目前可用于 QQ 机器人。要使用 koishi-adapter-onebot,你需要首先下载一个实现该协议的框架:
[OneBot](https://github.com/howmanybots/onebot) (旧名 CQHTTP) 是一个聊天机器人应用接口标准,目前可用于 QQ 机器人。要使用 @koishijs/plugin-onebot,你需要首先下载一个实现该协议的框架:

- [Mrs4s/go-cqhttp](https://github.com/Mrs4s/go-cqhttp)(推荐)
- [yyuueexxiinngg/cqhttp-mirai](https://github.com/yyuueexxiinngg/cqhttp-mirai)
- [richardchien/coolq-http-api](https://github.com/richardchien/coolq-http-api)(配合 [iTXTech/mirai-native](https://github.com/iTXTech/mirai-native) 使用)

上述框架也在 OneBot 的基础上扩展了各自的接口,而这些扩展的功能也被包含在了 koishi-adapter-onebot 中。
上述框架也在 OneBot 的基础上扩展了各自的接口,而这些扩展的功能也被包含在了 @koishijs/plugin-onebot 中。

- 标有 <Badge vertical="baseline" text="go-cqhttp" type="warning"/> 的 API 只能基于 go-cqhttp 运行

Expand Down
2 changes: 1 addition & 1 deletion docs/api/adapter/telegram.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 平台:Telegram
sidebarDepth: 2
---

# koishi-adapter-telegram
# @koishijs/plugin-telegram

## 创建机器人

Expand Down
2 changes: 1 addition & 1 deletion docs/api/segment.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebarDepth: 2

**消息段** 的概念最早起源于 CoolQ,用于在纯文本中表达特殊的消息语义。由于这种方式非常便捷,也被 Koishi 所沿用至今。

消息段协议本身也是 OneBot 协议的 [一部分](https://github.com/howmanybots/onebot/blob/master/v11/specs/message/segment.md),但该协议与 Koishi 所使用的消息段**存在一定的区别,在实际使用时请以本页文档为准**。由于 koishi-adapter-onebot 会自动进行两种协议间的转换,你并不需要担心兼容性问题。
消息段协议本身也是 OneBot 协议的 [一部分](https://github.com/howmanybots/onebot/blob/master/v11/specs/message/segment.md),但该协议与 Koishi 所使用的消息段**存在一定的区别,在实际使用时请以本页文档为准**。由于 @koishijs/plugin-onebot 会自动进行两种协议间的转换,你并不需要担心兼容性问题。

## 消息段操作

Expand Down
12 changes: 6 additions & 6 deletions docs/guide/adapter/adapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ module.exports = {
```ts
// 这只是为了引入类型,本身没有作用
import { AppConfig } from 'koishi'
import {} from 'koishi-adapter-onebot'
import {} from 'koishi-adapter-kaiheila'
import {} from '@koishijs/plugin-onebot'
import {} from '@koishijs/plugin-kaiheila'

export default {
port: 7070,
Expand Down Expand Up @@ -81,8 +81,8 @@ export default {
const { App } = require('koishi')

// 你需要手动安装所有相关平台的适配器
require('koishi-adapter-onebot')
require('koishi-adapter-kaiheila')
require('@koishijs/plugin-onebot')
require('@koishijs/plugin-kaiheila')

new App({ /* 同上述配置 */ })

Expand All @@ -93,8 +93,8 @@ app.start()
import { App } from 'koishi'

// 你需要手动安装所有相关平台的适配器
import 'koishi-adapter-onebot'
import 'koishi-adapter-kaiheila'
import '@koishijs/plugin-onebot'
import '@koishijs/plugin-kaiheila'

new App({ /* 同上述配置 */ })

Expand Down
14 changes: 7 additions & 7 deletions docs/guide/basic/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ Koishi 高度配置化的命令行工具可以让你无需写代码就搭建属

Koishi 在编写时,也同样编写了大量的官方插件作为补充。它们有些作为 Koishi 的基础功能,有些则为 Koishi 的使用提供了许多便利。更重要的是,这数十个插件都可以作为 Koishi 插件开发的极好示范。下面是一些例子:

- koishi-plugin-schedule:管理计划任务
- koishi-plugin-teach:教机器人说话
- koishi-plugin-webui:网页控制台
- @koishijs/plugin-schedule:管理计划任务
- @koishijs/plugin-teach:教机器人说话
- @koishijs/plugin-webui:网页控制台

除了这些官方插件以外,社区贡献者也编写了各种各样的第三方插件:

- koishi-plugin-genshin:原神资料查询
- koishi-plugin-ink:展示视觉小说
- koishi-plugin-shell:执行终端命令
- @koishijs/plugin-genshin:原神资料查询
- @koishijs/plugin-ink:展示视觉小说
- @koishijs/plugin-shell:执行终端命令

这些插件共同组成了 Koishi 如今的生态。

Expand All @@ -57,7 +57,7 @@ Koishi 原生地支持了多账户与跨平台,同时为这些机器人之间

Koishi v3 的另一大亮点就是拥有官方的网页控制台插件。这个控制台包含了非常多的功能:查看机器人运行状态、收集并展示统计数据、管理你的插件和依赖……

这个控制台本身的也提供了接口,允许其他插件来新增页面。当你安装了另一个插件 koishi-plugin-chat 之后,你甚至可以利用控制台,直接使用机器人的号进行聊天!
这个控制台本身的也提供了接口,允许其他插件来新增页面。当你安装了另一个插件 @koishijs/plugin-chat 之后,你甚至可以利用控制台,直接使用机器人的号进行聊天!

参见:[网页控制台](../plugins/other/webui.md)

Expand Down
6 changes: 3 additions & 3 deletions docs/guide/database/writing.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ import { Database } from 'koishi'
// 类型注入
declare module 'koishi' {
namespace Database {
interface Statics {
interface Library {
// 别忘了加 typeof,不然就不对了~
'koishi-plugin-mysql': typeof MysqlDatabase
mysql: typeof MysqlDatabase
}
}
}
Expand Down Expand Up @@ -60,4 +60,4 @@ export function apply(ctx: Context, config: PoolConfig = {}) {
}
```

当然,真正的 [koishi-plugin-mysql](../api/database/mysql.md) 要比上面的例子复杂的多,我们还需要处理有关数据库的更多细节。你可以在 [这里](https://github.com/koishijs/koishi/tree/master/packages/plugin-mysql) 看到完整的源代码。
当然,真正的 [@koishijs/plugin-mysql](../api/database/mysql.md) 要比上面的例子复杂的多,我们还需要处理有关数据库的更多细节。你可以在 [这里](https://github.com/koishijs/koishi/tree/master/packages/plugin-mysql) 看到完整的源代码。
74 changes: 0 additions & 74 deletions docs/guide/faq.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/guide/message/execute.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ Koishi 默认不转义单引号内的文本。如果你不希望某个参数被
['Koishi', 'foo$(echo bar)'],
]"/>

最后,你还可以在 [koishi-plugin-eval](../plugins/eval/basic.md) 中了解到另一种插值方法。
最后,你还可以在 [@koishijs/plugin-eval](../plugins/eval/basic.md) 中了解到另一种插值方法。

## 模糊匹配

Expand Down
2 changes: 1 addition & 1 deletion docs/guide/message/message.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ ctx.middleware((session, next) => {
}, true)
```

搭配使用上面几种中间件,你的机器人便拥有了无限可能。在 koishi-plugin-common 库中,就有着一个官方实现的复读功能,它远比上面的示例所显示的更加强大。如果想深入了解中间件机制,可以去研究一下这个功能的 [源代码](https://github.com/koishijs/koishi/blob/master/plugins/common/src/handler.ts)
搭配使用上面几种中间件,你的机器人便拥有了无限可能。在 @koishijs/plugin-common 库中,就有着一个官方实现的复读功能,它远比上面的示例所显示的更加强大。如果想深入了解中间件机制,可以去研究一下这个功能的 [源代码](https://github.com/koishijs/koishi/blob/master/plugins/common/src/handler.ts)

## 使用会话

Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions docs/guide/advanced/docker.md → docs/guide/misc/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ docker run -d --name koishi \
docker exec -it koishi sh
```

在容器内,你可以安装所需要的插件(这里以 koishi-adapter-onebot 和 koishi-plugin-common 为例):
在容器内,你可以安装所需要的插件(这里以 @koishijs/plugin-onebot@koishijs/plugin-common 为例):

```cli
# 安装插件
npm i koishi-adapter-onebot koishi-plugin-common
npm i @koishijs/plugin-onebot @koishijs/plugin-common
# 退出容器
exit
Expand Down
Loading

0 comments on commit 210d29b

Please sign in to comment.