クラス: Container
フレームワーク全体で共有されるサービス群。すべてのコンポーネントから
this.container、クライアントからは client.container で参照できます。
コンテナは クライアント毎 のインスタンスです(グローバルシングルトン ではありません)。テストや複数クライアント構成でも状態が混ざりません。
アプリケーション固有の共有ロジックは、原則として
サービスコンポーネント(services/ ディレクトリ)で
定義してください。コンテナへ直接プロパティを生やしたい場合は、
宣言マージ + 代入だけで追加できます:
declare module "@cc-discord-framework/core" {
interface Container {
redis: RedisClient;
}
}
// プラグインの install() 内、または login() 前に:
client.container.redis = createRedis();
コンストラクター
コンストラクター
new Container(): Container;
戻り値
Container
プロパティ
client
readonly client: Client;
フレームワーククライアント。
logger
readonly logger: Logger;
ルートの pino ロガー。
stores
readonly stores: StoreRegistry;
すべてのコンポーネントストア。
texts
readonly texts: ClientTexts;
フレームワークがユーザーへ返す文言(解決済み)。
new Client({ texts: { ... } }) で項目ごとに差し替えられます。
アクセッサー
services
署名を取得する
get services(): Services;
ロード済みサービスの名前付きレジストリ(services/ から自動収束)。