組み込みデータ構造
TIP
Koishi 的数据库 API 实际上分为两部分:
- Minato 定义的通用数据库接口,由数据库插件实现
- Koishi 内置数据结构相关的方法,由 Koishi 提供实现
这一页中将仅展示第二部分的内容。另一部分的内容请参见 数据库操作。
組み込みテーブル
User
- id:
idユーザー ID - name:
stringユーザー名 - authority:
number权限等级 - permissions:
string[]权限列表 - locales:
string[]语言列表
Binding
- aid:
idユーザー ID - platform:
stringプラットフォーム名 - pid:
string平台账号
Channel
- platform:
stringプラットフォーム名 - id:
string平台账号 - assignee:
string受理人 - permissions:
string[]权限列表 - locales:
string[]语言列表
組み込みインスタンスメソッド
以下のインスタンスメソッドは @koishijs/core で実装されます。
ctx.database.getUser(platform, id, modifier?)
- platform:
stringプラットフォーム名 - id:
stringユーザー識別子 - modifier:
QueryModifier<User.Field>クエリ修飾子 - 戻り値:
Promise<User>ユーザーデータ
データベースにユーザーデータをリクエストします。
ctx.database.setUser(platform, id, data)
- platform:
stringプラットフォーム名 - id:
stringユーザー識別子 - data:
User変更・追加するデータ - 戻り値:
Promise<void>
データベースにユーザーデータを修正・追加します。
ctx.database.getChannel(platform, id, fields?)
- platform:
stringプラットフォーム名 - id:
stringチャンネル識別子 - fields:
QueryModifier<User.Field>クエリ修飾子 - 戻り値:
Promise<Channel>チャンネルデータ
データベースにチャンネルデータをリクエストします。
ctx.database.getAssignedChannels(fields?, platform?, assignees?) 非推奨
- fields:
ChannelField[]リクエストするフィールド。デフォルトはすべてのフィールドです。 - platform:
stringプラットフォーム名。デフォルトはすべてのプラットフォームです。 - assignees:
string[]代理人リスト。デフォルトは現在実行されているすべてのボットです。 - 戻り値:
Promise<Channel[]>チャンネルデータリスト
データベースに特定のボットが管理するすべでのチャンネルデータをリクエストします。ここにある二つの引数のどちらを選んでも、正しく認識されます。
ctx.database.setChannel(platform, id, data)
- platform:
stringプラットフォーム名 - id:
numberチャンネル識別子 - data:
Channel修正・追加するデータ - 戻り値:
Promise<void>
データベースにチャンネルデータを修正・追加します。
Koishi