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

抽象 クラス: 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 サフィックスを除きケバブケース化した 形が既定です(UserInfoCommanduser-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