mioku-plugin-music 2.3.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.md +6 -57
- package/config.ts +1 -10
- package/package.json +1 -1
- package/runtime-core/service.ts +9 -5
- package/runtime.ts +2 -2
- package/types.ts +0 -9
package/config.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Music 插件配置
|
|
3
|
-
description: 在这里调整 music
|
|
3
|
+
description: 在这里调整 music 插件的配置项目。Token/Cookie、Storefront、语言、音质等请分别在 Apple Music / NetEase 的「服务配置」页面配置。
|
|
4
4
|
fields:
|
|
5
5
|
- key: base.searchLimit
|
|
6
6
|
label: 默认搜索条数
|
|
@@ -11,71 +11,20 @@ fields:
|
|
|
11
11
|
- key: base.defaultProvider
|
|
12
12
|
label: 默认音乐源
|
|
13
13
|
type: select
|
|
14
|
-
description:
|
|
14
|
+
description: 初次安装为「无」,需要选择对应的提供商并安装其服务后使用
|
|
15
15
|
options:
|
|
16
|
+
- value: ""
|
|
17
|
+
label: 无(未选择)
|
|
16
18
|
- value: applemusic
|
|
17
19
|
label: Apple Music
|
|
18
20
|
- value: netease
|
|
19
21
|
label: NetEase Cloud Music
|
|
20
|
-
|
|
21
|
-
- key: base.applemusic.storefront
|
|
22
|
-
label: Apple Music Storefront
|
|
23
|
-
type: text
|
|
24
|
-
description: 默认地区代码,例如 cn、us、jp。
|
|
25
|
-
placeholder: cn
|
|
26
|
-
|
|
27
|
-
- key: base.applemusic.language
|
|
28
|
-
label: Apple Music 语言
|
|
29
|
-
type: text
|
|
30
|
-
description: 默认语言代码,例如 zh-CN、en-US。
|
|
31
|
-
placeholder: zh-CN
|
|
32
|
-
|
|
33
|
-
- key: base.applemusic.defaultMediaUserToken
|
|
34
|
-
label: 默认 Media User Token
|
|
35
|
-
type: secret
|
|
36
|
-
description: Apple Music 下载高质量 AAC 必需 token,无token仅能下载30s音频
|
|
37
|
-
placeholder: eyJ...
|
|
38
|
-
|
|
39
|
-
- key: base.netease.quality
|
|
40
|
-
label: NetEase 音质
|
|
41
|
-
type: select
|
|
42
|
-
description: 下载音质档位,lossless/hires 需要 VIP cookie
|
|
43
|
-
options:
|
|
44
|
-
- value: standard
|
|
45
|
-
label: 标准 (128k)
|
|
46
|
-
- value: exhigh
|
|
47
|
-
label: 极高 (320k,推荐)
|
|
48
|
-
- value: lossless
|
|
49
|
-
label: 无损 FLAC
|
|
50
|
-
- value: hires
|
|
51
|
-
label: Hi-Res
|
|
52
|
-
|
|
53
|
-
- key: base.netease.defaultCookie
|
|
54
|
-
label: NetEase Cookie
|
|
55
|
-
type: secret
|
|
56
|
-
description: 网易云 MUSIC_U cookie,无 cookie 仅能搜索;VIP 音质必须配置
|
|
57
|
-
placeholder: MUSIC_U=...; os=pc; appver=8.9.75;
|
|
58
22
|
---
|
|
59
23
|
|
|
24
|
+
> 默认音乐源初始为「无」。请先在上方选择提供商,**重启 Bot 后会自动下载对应服务**。
|
|
25
|
+
|
|
60
26
|
```mioku-fields
|
|
61
27
|
keys:
|
|
62
28
|
- base.searchLimit
|
|
63
29
|
- base.defaultProvider
|
|
64
30
|
```
|
|
65
|
-
|
|
66
|
-
### 以下为 Apple Music 的配置区域
|
|
67
|
-
|
|
68
|
-
```mioku-fields
|
|
69
|
-
keys:
|
|
70
|
-
- base.applemusic.storefront
|
|
71
|
-
- base.applemusic.language
|
|
72
|
-
- base.applemusic.defaultMediaUserToken
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### 以下为网易云音乐的配置区域
|
|
76
|
-
|
|
77
|
-
```mioku-fields
|
|
78
|
-
keys:
|
|
79
|
-
- base.netease.quality
|
|
80
|
-
- base.netease.defaultCookie
|
|
81
|
-
```
|
package/config.ts
CHANGED
|
@@ -2,14 +2,5 @@ import type { MusicBaseConfig } from "./types";
|
|
|
2
2
|
|
|
3
3
|
export const MUSIC_DEFAULTS: MusicBaseConfig = {
|
|
4
4
|
searchLimit: 15,
|
|
5
|
-
defaultProvider: "
|
|
6
|
-
applemusic: {
|
|
7
|
-
storefront: "cn",
|
|
8
|
-
language: "zh-CN",
|
|
9
|
-
defaultMediaUserToken: "",
|
|
10
|
-
},
|
|
11
|
-
netease: {
|
|
12
|
-
quality: "exhigh",
|
|
13
|
-
defaultCookie: "",
|
|
14
|
-
},
|
|
5
|
+
defaultProvider: "",
|
|
15
6
|
};
|
package/package.json
CHANGED
package/runtime-core/service.ts
CHANGED
|
@@ -348,12 +348,16 @@ export class MusicPluginRuntime {
|
|
|
348
348
|
|
|
349
349
|
private createProvider(provider: MusicProviderName, mediaUserToken?: string) {
|
|
350
350
|
const resolvedProvider = this.resolveProviderName(provider);
|
|
351
|
+
|
|
352
|
+
const amDefaults = this.deps.applemusicService?.getDefaultOptions();
|
|
353
|
+
const neDefaults = this.deps.neteaseService?.getDefaultOptions();
|
|
354
|
+
|
|
351
355
|
const finalMediaUserToken =
|
|
352
356
|
String(mediaUserToken || "").trim() ||
|
|
353
|
-
String(
|
|
357
|
+
String(amDefaults?.mediaUserToken || "").trim() ||
|
|
354
358
|
undefined;
|
|
355
359
|
const neteaseCookie =
|
|
356
|
-
String(
|
|
360
|
+
String(neDefaults?.cookie || "").trim() || undefined;
|
|
357
361
|
|
|
358
362
|
return createMusicProvider(
|
|
359
363
|
resolvedProvider,
|
|
@@ -364,9 +368,9 @@ export class MusicPluginRuntime {
|
|
|
364
368
|
{
|
|
365
369
|
mediaUserToken: finalMediaUserToken,
|
|
366
370
|
neteaseCookie,
|
|
367
|
-
neteaseQuality:
|
|
368
|
-
storefront:
|
|
369
|
-
language:
|
|
371
|
+
neteaseQuality: (neDefaults?.quality || "exhigh") as any,
|
|
372
|
+
storefront: String(amDefaults?.storefront || "cn"),
|
|
373
|
+
language: String(amDefaults?.language || "zh-CN"),
|
|
370
374
|
},
|
|
371
375
|
);
|
|
372
376
|
}
|
package/runtime.ts
CHANGED
|
@@ -12,11 +12,11 @@ export interface MusicRuntimeState {
|
|
|
12
12
|
const MUSIC_PLUGIN_NAME = "music";
|
|
13
13
|
|
|
14
14
|
export function getMusicRuntimeState(): MusicRuntimeState {
|
|
15
|
-
return getPluginRuntimeState
|
|
15
|
+
return getPluginRuntimeState(MUSIC_PLUGIN_NAME) as MusicRuntimeState;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export function setMusicRuntimeState(nextState: MusicRuntimeState): MusicRuntimeState {
|
|
19
|
-
return setPluginRuntimeState
|
|
19
|
+
return setPluginRuntimeState(MUSIC_PLUGIN_NAME, nextState) as MusicRuntimeState;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export function resetMusicRuntimeState(): void {
|
package/types.ts
CHANGED
|
@@ -7,15 +7,6 @@ export type MusicProviderQuality = "standard" | "exhigh" | "lossless" | "hires";
|
|
|
7
7
|
export interface MusicBaseConfig {
|
|
8
8
|
searchLimit: number;
|
|
9
9
|
defaultProvider?: MusicProviderName | string;
|
|
10
|
-
applemusic: {
|
|
11
|
-
storefront: string;
|
|
12
|
-
language: string;
|
|
13
|
-
defaultMediaUserToken?: string;
|
|
14
|
-
};
|
|
15
|
-
netease: {
|
|
16
|
-
quality: MusicProviderQuality;
|
|
17
|
-
defaultCookie: string;
|
|
18
|
-
};
|
|
19
10
|
}
|
|
20
11
|
|
|
21
12
|
export interface MusicTrack {
|