diff --git a/.vitepress/config/index.ts b/.vitepress/config/index.ts index 9065509acdb1..f081c6d23d44 100644 --- a/.vitepress/config/index.ts +++ b/.vitepress/config/index.ts @@ -27,6 +27,10 @@ export default async () => defineConfig({ }, }, + sitemap: { + hostname: 'https://koishi.chat', + }, + vite: { optimizeDeps: { include: ['xss'], diff --git a/package.json b/package.json index 3a7a8b1e7670..78709ca8301f 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "@koishijs/core": "^4.14.1", "@koishijs/market": "^4.1.2", "@koishijs/registry": "^6.0.2", - "@koishijs/vitepress": "^2.2.2", + "@koishijs/vitepress": "^2.3.0", "@types/node": "^20.4.2", "@types/spark-md5": "^3.0.2", "cross-env": "^7.0.3", @@ -22,7 +22,7 @@ "koishi": "^4.14.1", "marked-vue": "^1.2.3", "typescript": "^5.1.6", - "vitepress": "1.0.0-alpha.73", + "vitepress": "1.0.0-beta.7", "vue-i18n": "^9.2.2" } } diff --git a/zh-CN/api/core/bot.md b/zh-CN/api/core/bot.md index ffb084aa1e17..2f2936ff4bc2 100644 --- a/zh-CN/api/core/bot.md +++ b/zh-CN/api/core/bot.md @@ -2,73 +2,82 @@ **机器人 (Bot)** 是适配器的核心,它将不同平台的 API 封装成统一的格式供 Koishi 使用。而不同的适配器也可以自行扩展 Bot 实例上的属性和方法。 -标有 内置 的 API 已经由 @koishijs/core 提供,适配器可以覆盖对应的方法,但是无需自行实现。 +标有 内置 的 API 已经由 Koishi 提供,适配器可以覆盖对应的方法,但是无需自行实现。 -## 构造函数选项 - -不同的适配器可能对应了不同的 Bot 配置项,但是有一些配置项是公用的: - -### options.protocol +## 实例属性 -- 类型: `string` +### bot.config 内置 -部分适配器可能提供了多种协议实现,此时你可能需要指定一个协议。 +- 类型: `object` -### options.platform +构造 `Bot` 实例时所使用的配置项。 -- 类型: `string` +### bot.ctx 内置 -要使用的用户数据字段名称。默认情况下你可以使用适配器名作为字段访问到你的账号,但是对于同一个适配器连接多个服务器的情况,你可能需要对各自账户做出区分。配置不同的 platform 可以确保不会出现串数据的情况。 +- 类型: [`Context`](./context.md) -## 实例属性 +当前 `Bot` 所在的 [Context](./context.md) 实例。 -### bot.config +### bot.adapter 内置 -- 类型: `object` +- 类型: [`Adapter`](./adapter.md) -构造 Bot 实例时所使用的配置项。 +当前 `Bot` 所在的 [Adapter](./adapter.md) 实例。 -### bot.ctx +### bot.status 内置 -- 类型: [`Context`](./context.md) +- 可选值: online, offline, connect, disconnect, reconnect -当前 Bot 所在的 [Context](./context.md) 实例。 +当前 `Bot` 的运行状态。 -### bot.adapter +### bot.platform -- 类型: [`Adapter`](./adapter.md) +- 类型: `string` -当前 Bot 所在的 [Adapter](./adapter.md) 实例。 +当前 `Bot` 的 [平台名称](../glossary.md#平台-platform)。 -### bot.platform +### bot.avatar - 类型: `string` -当前 Bot 的平台名称,会受到 [options.platform](#options-platform) 影响。 +当前 `Bot` 的头像。 ### bot.username - 类型: `string` -当前 Bot 的用户名。 +当前 `Bot` 的用户名。 -### bot.selfId +### bot.userId - 类型: `string` -当前 Bot 的平台账号。 +当前 `Bot` 的平台账号。 -### bot.sid +## 适配器相关 -- 类型: `string` +### bot.dispatch(session) 内置 -当前 Bot 的唯一标识符。 +- **session:** [`Session`](./session.md) 会话实例 -### bot.status +触发一个会话事件。 -- 可选值: online, offline, connect, disconnect, reconnect +### bot.session(data) 内置 + +- **data:** [`Partial`](./session.md) 会话数据 +- 返回值: [`Session`](./session.md) 会话实例 + +创建一个新的会话实例。 + +### bot.online() 内置 + +修改机器人的状态为 `online`。 + +### bot.offline(error?) 内置 + +- **error:** `Error` 错误信息 -当前 Bot 的运行状态。 +修改机器人的状态为 `offline`,并记录错误信息。 ## 消息相关 diff --git a/zh-CN/api/core/session.md b/zh-CN/api/core/session.md index a69a54b446d2..e334159396f9 100644 --- a/zh-CN/api/core/session.md +++ b/zh-CN/api/core/session.md @@ -60,6 +60,12 @@ 事件的文本内容 (例如消息的文本等)。 +### session.isDirect + +- 类型: `boolean` + +事件是否在私聊环境中触发。 + ## 实例属性 你应该已经读过 [事件 (Events)](./events.md) 一章了。由于每个会话都必定表达了一个上报事件,因此上报事件中定义的属性也都可以在 Session 的实例中访问到。此外,也只有来自上报事件的属性才会在序列化中被保留。下面将介绍的实例属性都是无法被序列化的。