クラス: SoundCloudResolver
定義: plugins/music-sources/src/soundcloud/SoundCloudResolver.ts:41
入力(URL・検索クエリ)を Track へ解決するコンポーネント。
resolvers/ ディレクトリに置くと自動ロードされます。
メタデータ専用ソースも Resolver として表現できます。 例えば Spotify は DRM により直接再生できませんが、Resolver として曲情報(ISRC 付き)を返せば、 実際の音声は別の StreamProvider が担当できます。
@TrackResolver.define({ priority: 10 })
export class MyResolver extends TrackResolver {
canResolve(query: string) { return query.startsWith("https://example.com/"); }
async resolve({ query, requestedBy }: ResolveContext) {
return [createTrack({ title: "...", url: query, source: this.name, requestedBy })];
}
}
拡張
コンストラクター
コンストラクター
new SoundCloudResolver(): SoundCloudResolver;
戻り値
SoundCloudResolver
継承元
プロパティ
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
ストア内で一意なコンポーネント名。
継承元
priority
readonly priority: number;
定義: plugins/music/src/TrackResolver.ts:42
継承元
store
readonly store: ComponentStore<Component>;
定義: src/component/Component.ts:33
このコンポーネントが属するストア。
継承元
アクセッサー
client
署名を取得する
get client(): Client;
定義: src/component/Component.ts:42
フレームワーククライアント。
戻り値
継承元
config
署名を取得する
get config(): SoundCloudConfig;
定義: plugins/music-sources/src/soundcloud/SoundCloudResolver.ts:44
戻り値
services
署名を取得する
get services(): Services;
定義: src/component/Component.ts:50
ロード済みサービスへのアクセス(services/ から自動収束)。
import せずに this.services.<名前> で参照できます。
戻り値
継承元
soundcloud
署名を取得する
get soundcloud(): Soundcloud;
定義: plugins/music-sources/src/soundcloud/SoundCloudResolver.ts:54
SoundCloud のクライアント(client は Component が持つ Discord のもの)。
戻り値
Soundcloud
メソッド
canResolve()
canResolve(query): boolean;
定義: plugins/music-sources/src/soundcloud/SoundCloudResolver.ts:59
この Resolver がクエリを扱えるか。副作用のない高速な判定にしてください。
パラメータ
query
string
戻り値
boolean
上書き
onLoad()
onLoad(): void;
定義: plugins/music-sources/src/soundcloud/SoundCloudResolver.ts:49
デコレータの値は静的なので、設定された優先度をここで反映する。
戻り値
void
上書き
onUnload()?
optional onUnload(): unknown;
定義: src/component/Component.ts:58
ストアから取り除かれるときに呼ばれます(クライアント終了時を含む)。
戻り値
unknown
継承元
resolve()
resolve(context): Promise<Track[]>;
定義: plugins/music-sources/src/soundcloud/SoundCloudResolver.ts:65
クエリをトラックへ解決します。プレイリストなら複数返します。 空配列を返すと、次に優先度の高い Resolver が試されます。
パラメータ
context
戻り値
Promise<Track[]>
上書き
define()
static define(options?): (_target, context) => void;
定義: plugins/music/src/TrackResolver.ts:44
パラメータ
options?
TrackResolverOptions = {}
戻り値
(_target, context) => void