Skip to content

Commit

Permalink
bot api update
Browse files Browse the repository at this point in the history
  • Loading branch information
shigma committed Aug 8, 2023
1 parent 1910be4 commit d92eda2
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 34 deletions.
4 changes: 4 additions & 0 deletions .vitepress/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ export default async () => defineConfig({
},
},

sitemap: {
hostname: 'https://koishi.chat',
},

vite: {
optimizeDeps: {
include: ['xss'],
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@
"@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",
"element-plus": "2.3.8",
"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"
}
}
73 changes: 41 additions & 32 deletions zh-CN/api/core/bot.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,73 +2,82 @@

**机器人 (Bot)** 是适配器的核心,它将不同平台的 API 封装成统一的格式供 Koishi 使用。而不同的适配器也可以自行扩展 Bot 实例上的属性和方法。

标有 <badge>内置</badge> 的 API 已经由 @koishijs/core 提供,适配器可以覆盖对应的方法,但是无需自行实现。
标有 <badge>内置</badge> 的 API 已经由 Koishi 提供,适配器可以覆盖对应的方法,但是无需自行实现。

## 构造函数选项

不同的适配器可能对应了不同的 Bot 配置项,但是有一些配置项是公用的:

### options.protocol
## 实例属性

- 类型: `string`
### bot.config <badge>内置</badge>

部分适配器可能提供了多种协议实现,此时你可能需要指定一个协议。
- 类型: `object`

### options.platform
构造 `Bot` 实例时所使用的配置项。

- 类型: `string`
### bot.ctx <badge>内置</badge>

要使用的用户数据字段名称。默认情况下你可以使用适配器名作为字段访问到你的账号,但是对于同一个适配器连接多个服务器的情况,你可能需要对各自账户做出区分。配置不同的 platform 可以确保不会出现串数据的情况。
- 类型: [`Context`](./context.md)

## 实例属性
当前 `Bot` 所在的 [Context](./context.md) 实例。

### bot.config
### bot.adapter <badge>内置</badge>

- 类型: `object`
- 类型: [`Adapter`](./adapter.md)

构造 Bot 实例时所使用的配置项
当前 `Bot` 所在的 [Adapter](./adapter.md) 实例

### bot.ctx
### bot.status <badge>内置</badge>

- 类型: [`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) <badge>内置</badge>

当前 Bot 的唯一标识符。
- **session:** [`Session`](./session.md) 会话实例

### bot.status
触发一个会话事件。

- 可选值: online, offline, connect, disconnect, reconnect
### bot.session(data) <badge>内置</badge>

- **data:** [`Partial<Session>`](./session.md) 会话数据
- 返回值: [`Session`](./session.md) 会话实例

创建一个新的会话实例。

### bot.online() <badge>内置</badge>

修改机器人的状态为 `online`

### bot.offline(error?) <badge>内置</badge>

- **error:** `Error` 错误信息

当前 Bot 的运行状态
修改机器人的状态为 `offline`,并记录错误信息

## 消息相关

Expand Down
6 changes: 6 additions & 0 deletions zh-CN/api/core/session.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@

事件的文本内容 (例如消息的文本等)。

### session.isDirect

- 类型: `boolean`

事件是否在私聊环境中触发。

## 实例属性

你应该已经读过 [事件 (Events)](./events.md) 一章了。由于每个会话都必定表达了一个上报事件,因此上报事件中定义的属性也都可以在 Session 的实例中访问到。此外,也只有来自上报事件的属性才会在序列化中被保留。下面将介绍的实例属性都是无法被序列化的。
Expand Down

0 comments on commit d92eda2

Please sign in to comment.