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

抽象 クラス: Command

定義: src/command/Command.ts:65

コマンド。必要なフローを1つ以上実装してください:

@Command.define({ description: "Pong! と返します。" })
export class PingCommand extends Command {
override async chatInputRun(interaction: ChatInputCommandInteraction) {
await interaction.reply("Pong!");
}
}

コマンド名はクラス名から Command サフィックスを除きケバブケース化した 形が既定です(UserInfoCommand → user-info)。

拡張​

コンストラクター​

コンストラクター​

new Command(): Command;

戻り値​

Command

継承元​

Component.constructor

プロパティ​

aliases​

readonly aliases: readonly string[];

定義: src/command/Command.ts:73

プレフィックスコマンドの別名。


container​

readonly container: Container;

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

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

継承元​

Component.container


defaultMemberPermissions​

readonly defaultMemberPermissions: PermissionResolvable | null;

定義: src/command/Command.ts:85

Discord 側のデフォルト権限ゲート。


description​

readonly description: string;

定義: src/command/Command.ts:67

Discord に表示される説明(メッセージ専用コマンドでは空文字)。


descriptionLocalizations​

readonly descriptionLocalizations: Partial<Record<Locale, string | null>> | null;

定義: src/command/Command.ts:94

説明のローカライズ。


guildIds​

readonly guildIds: readonly string[] | null;

定義: src/command/Command.ts:88

このスラッシュコマンドの登録先ギルド(null = クライアント既定 / グローバル)。


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


nameLocalizations​

readonly nameLocalizations: Partial<Record<Locale, string | null>> | null;

定義: src/command/Command.ts:91

名前のローカライズ。


options​

readonly options: readonly APIApplicationCommandOption[];

定義: src/command/Command.ts:70

スラッシュコマンドのオプション(生の Discord API データ)。


preconditions​

readonly preconditions: readonly string[];

定義: src/command/Command.ts:76

このコマンドをガードする Precondition 名。


requiredClientPermissions​

readonly requiredClientPermissions: PermissionResolvable | null;

定義: src/command/Command.ts:82

Bot にチャンネルで要求される権限。


requiredUserPermissions​

readonly requiredUserPermissions: PermissionResolvable | null;

定義: src/command/Command.ts:79

呼び出しメンバーに要求される権限。


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


supportsChatInput​

署名を取得する​

get supportsChatInput(): boolean;

定義: src/command/Command.ts:111

スラッシュコマンドとして公開されるかどうか。

戻り値​

boolean


supportsMessage​

署名を取得する​

get supportsMessage(): boolean;

定義: src/command/Command.ts:116

メッセージプレフィックスで呼び出せるかどうか。

戻り値​

boolean

メソッド​

autocompleteRun()?​

optional autocompleteRun(interaction): unknown;

定義: src/command/Command.ts:108

このコマンドのオプションに対する autocomplete ハンドラ。

パラメータ​

interaction​

AutocompleteInteraction

戻り値​

unknown


chatInputRun()?​

optional chatInputRun(interaction): unknown;

定義: src/command/Command.ts:102

スラッシュコマンドの実装。

パラメータ​

interaction​

ChatInputCommandInteraction

戻り値​

unknown


messageRun()?​

optional messageRun(message, args): unknown;

定義: src/command/Command.ts:105

プレフィックス(メッセージ)コマンドの実装。

パラメータ​

message​

Message

args​

string[]

戻り値​

unknown


onLoad()?​

optional onLoad(): unknown;

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

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

戻り値​

unknown

継承元​

Component.onLoad


onUnload()?​

optional onUnload(): unknown;

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

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

戻り値​

unknown

継承元​

Component.onUnload


toApplicationCommand()​

toApplicationCommand(): RESTPostAPIChatInputApplicationCommandsJSONBody;

定義: src/command/Command.ts:126

このスラッシュコマンドの登録に使う Discord API ペイロードを構築します。 メタデータが扱わないフィールド(contexts、integration types など)を 追加したい場合は、オーバーライドして super.toApplicationCommand() の 結果を拡張してください。

戻り値​

RESTPostAPIChatInputApplicationCommandsJSONBody


define()​

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

定義: src/command/Command.ts:97

コマンドのメタデータを宣言します。

パラメータ​

options?​

CommandOptions = {}

戻り値​

(_target, context) => void