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 的实例中访问到。此外,也只有来自上报事件的属性才会在序列化中被保留。下面将介绍的实例属性都是无法被序列化的。