抽象 クラス: 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 サフィックスを除いた形が
既定です(OwnerOnlyPrecondition → OwnerOnly)。
拡張
コンストラクター
コンストラクター
new Precondition(): Precondition;
戻り値
Precondition
継承元
プロパティ
container
readonly container: Container;
定義: src/component/Component.ts:30
フレームワーク共有サービスを持つコンテナ。
継承元
location
readonly location: string | null;
定義: src/component/Component.ts:39
自動探索されたファイルの絶対パス。明示登録の場合は null。
継承元
logger
readonly logger: Logger;
定義: src/component/Component.ts:36
このコンポーネント用の子ロガー({ store, component } が付与済み)。
継承元
name
readonly name: string;
定義: src/component/Component.ts:27
ストア内で一意なコンポーネント名。
継承元
store
readonly store: ComponentStore<Component>;
定義: src/component/Component.ts:33
このコンポーネントが属するストア。
継承元
アクセッサー
client
署名を取得する
get client(): Client;
定義: src/component/Component.ts:42
フレームワーククライアント。
戻り値
継承元
services
署名を取得する
get services(): Services;
定義: src/component/Component.ts:50
ロード済みサービスへのアクセス(services/ から自動収束)。
import せずに this.services.<名前> で参照できます。
戻り値
継承元
メソッド
chatInputRun()?
optional chatInputRun(interaction, command): Awaitable<PreconditionResult>;
定義: src/precondition/Precondition.ts:63
スラッシュコマンド呼び出しに対する判定。
パラメータ
interaction
ChatInputCommandInteraction
command
戻り値
Awaitable<PreconditionResult>
deny()
protected deny(reason, options?): PreconditionResult;
定義: src/precondition/Precondition.ts:77
ユーザー向けの理由付きの拒否。
パラメータ
reason
string
options?
context?
unknown
戻り値
messageRun()?
optional messageRun(message, command): Awaitable<PreconditionResult>;
定義: src/precondition/Precondition.ts:69
プレフィックス(メッセージ)コマンド呼び出しに対する判定。
パラメータ
message
Message
command
戻り値
Awaitable<PreconditionResult>
ok()
protected ok(): PreconditionResult;
定義: src/precondition/Precondition.ts:72
通過を表す結果。
戻り値
onLoad()?
optional onLoad(): unknown;
定義: src/component/Component.ts:55
初期化後・ストア追加前に呼ばれます。
戻り値
unknown
継承元
onUnload()?
optional onUnload(): unknown;
定義: src/component/Component.ts:58
ストアから取り除かれるときに呼ばれます(クライアント終了時を含む)。
戻り値
unknown
継承元
define()
static define(options?): (_target, context) => void;
定義: src/precondition/Precondition.ts:58
Precondition のメタデータを宣言します。省略可能です(名前は導出されます)。
パラメータ
options?
PreconditionOptions = {}
戻り値
(_target, context) => void