メインコンテンツまでスキップ
バージョン: v2.0

抽象 クラス: Precondition

定義: src/precondition/Precondition.ts:56

コマンド実行前に走る再利用可能なガード。

サポートするコマンドフローごとに判定を実装します。コマンドが使用する フローは、そのコマンドに付いた すべての Precondition が実装している 必要があります — 未実装は黙って通過せず、明示的に失敗します。

@Precondition.define()
export class OwnerOnlyPrecondition extends Precondition {
override chatInputRun(interaction: ChatInputCommandInteraction) {
return interaction.user.id === OWNER_ID
? this.ok()
: this.deny("このコマンドはBotのオーナーのみ使用できます。");
}
}

Precondition 名はクラス名から Precondition サフィックスを除いた形が 既定です(OwnerOnlyPreconditionOwnerOnly)。

拡張

コンストラクター

コンストラクター

new Precondition(): Precondition;

戻り値

Precondition

継承元

Component.constructor

プロパティ

container

readonly container: Container;

定義: src/component/Component.ts:30

フレームワーク共有サービスを持つコンテナ。

継承元

Component.container


location

readonly location: string | null;

定義: src/component/Component.ts:39

自動探索されたファイルの絶対パス。明示登録の場合は null

継承元

Component.location


logger

readonly logger: Logger;

定義: src/component/Component.ts:36

このコンポーネント用の子ロガー({ store, component } が付与済み)。

継承元

Component.logger


name

readonly name: string;

定義: src/component/Component.ts:27

ストア内で一意なコンポーネント名。

継承元

Component.name


store

readonly store: ComponentStore<Component>;

定義: src/component/Component.ts:33

このコンポーネントが属するストア。

継承元

Component.store

アクセッサー

client

署名を取得する

get client(): Client;

定義: src/component/Component.ts:42

フレームワーククライアント。

戻り値

Client

継承元

Component.client


services

署名を取得する

get services(): Services;

定義: src/component/Component.ts:50

ロード済みサービスへのアクセス(services/ から自動収束)。 import せずに this.services.<名前> で参照できます。

戻り値

Services

継承元

Component.services

メソッド

chatInputRun()?

optional chatInputRun(interaction, command): Awaitable<PreconditionResult>;

定義: src/precondition/Precondition.ts:63

スラッシュコマンド呼び出しに対する判定。

パラメータ

interaction

ChatInputCommandInteraction

command

Command

戻り値

Awaitable<PreconditionResult>


deny()

protected deny(reason, options?): PreconditionResult;

定義: src/precondition/Precondition.ts:77

ユーザー向けの理由付きの拒否。

パラメータ

reason

string

options?
context?

unknown

戻り値

PreconditionResult


messageRun()?

optional messageRun(message, command): Awaitable<PreconditionResult>;

定義: src/precondition/Precondition.ts:69

プレフィックス(メッセージ)コマンド呼び出しに対する判定。

パラメータ

message

Message

command

Command

戻り値

Awaitable<PreconditionResult>


ok()

protected ok(): PreconditionResult;

定義: src/precondition/Precondition.ts:72

通過を表す結果。

戻り値

PreconditionResult


onLoad()?

optional onLoad(): unknown;

定義: src/component/Component.ts:55

初期化後・ストア追加前に呼ばれます。

戻り値

unknown

継承元

Component.onLoad


onUnload()?

optional onUnload(): unknown;

定義: src/component/Component.ts:58

ストアから取り除かれるときに呼ばれます(クライアント終了時を含む)。

戻り値

unknown

継承元

Component.onUnload


define()

static define(options?): (_target, context) => void;

定義: src/precondition/Precondition.ts:58

Precondition のメタデータを宣言します。省略可能です(名前は導出されます)。

パラメータ

options?

PreconditionOptions = {}

戻り値

(_target, context) => void