mioku-plugin-music 2.3.0 → 2.4.0

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 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: "applemusic",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mioku-plugin-music",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "音乐插件:点歌、搜索音乐、听歌语音发送",
5
5
  "main": "index.ts",
6
6
  "type": "module",
@@ -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(this.config.applemusic.defaultMediaUserToken || "").trim() ||
357
+ String(amDefaults?.mediaUserToken || "").trim() ||
354
358
  undefined;
355
359
  const neteaseCookie =
356
- String(this.config.netease?.defaultCookie || "").trim() || undefined;
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: this.config.netease?.quality,
368
- storefront: this.config.applemusic.storefront,
369
- language: this.config.applemusic.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/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 {