クラス: Client<Ready>
定義: src/client.ts:98
フレームワーククライアント — コンテナ・コンポーネントストア・コマンド
ランタイムを備えた discord.js の Client です。
決められたディレクトリ(services/ commands/ listeners/
preconditions/ ...)にクラスを置くだけで、フレームワークが自動で
インポートして制御します。エントリポイントは最小で済みます:
const client = new Client({
intents: [GatewayIntentBits.Guilds],
});
await client.login(); // DISCORD_TOKEN 環境変数を自動使用
ライフサイクル: login() → プラグイン install → ストアのロード
(明示登録 + ファイル自動探索)→ ディスパッチャ接続 → ゲートウェイ接続
→ ready 後にスラッシュコマンド同期。
拡張
Client<Ready>
型パラメーター
Ready
Ready extends boolean = boolean
コンストラクター
コンストラクター
new Client<Ready>(options): Client<Ready>;
パラメータ
options
戻り値
Client<Ready>
上書き
DiscordClient<Ready>.constructor
プロパティ
baseDirectory
readonly baseDirectory: string | null;
解決済みの自動探索ルート(null = 自動探索なし)。
container
readonly container: Container;
フレームワーク共有サービス。
logger
readonly logger: Logger;
ルートの pino ロガー。
stores
readonly stores: StoreRegistry;
すべてのコンポーネントストア。
メソッド
destroy()
destroy(): Promise<void>;
全コンポーネントをアンロード(onUnload 実行)してから接続を破棄します。
戻り値
Promise<void>
上書き
DiscordClient.destroy
load()
load(): Promise<void>;
Discord に接続せずにフレームワークを起動します: プラグインの
インストール、全コンポーネントのロード、ディスパッチャの接続。
冪等で、login() から自動的に呼ばれます。テストや起動スモーク
チェックに便利です。
戻り値
Promise<void>
login()
login(token?): Promise<string>;
フレームワークをロードし、Discord ゲートウェイへ接続します。
パラメータ
token?
string
戻り値
Promise<string>
上書き
DiscordClient.login
register()
register(...classes): this;
コンポーネントクラスを明示登録します。担当ストアは各クラスの基底 (Command / Listener / Precondition / Service / プラグイン追加種別) から自動で推論されます。
load() 前の呼び出しはキューに積まれ、プラグインの install 後に
解決されるため、プラグイン種別のコンポーネントも呼び出し順を
気にせず登録できます。load() 開始後(= プラグインの install 中)の
呼び出しは、何番目のプラグインからでも 同じようにその場で
ストアへ渡されます。
パラメータ
classes
...ComponentClass<Component>[]
戻り値
this