@zhin.js/plugin-music 1.0.0 → 1.0.2

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/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "zhin.js/jsx-runtime";
2
- import { usePlugin, defineComponent, Prompt, ZhinTool } from "zhin.js";
2
+ import { usePlugin, defineComponent, ZhinTool } from "zhin.js";
3
3
  import { musicServices } from "./sources/index.js";
4
4
  import { sourceConfigMap } from "./config.js";
5
5
  const plugin = usePlugin();
@@ -66,44 +66,7 @@ const searchMusicTool = new ZhinTool('music_search')
66
66
  total: allMusic.length,
67
67
  };
68
68
  })
69
- .platform('icqq') // 限制为 icqq 平台
70
- .action(async (message, result) => {
71
- const keyword = result.params.keyword;
72
- const sourcesParam = result.params.sources || [];
73
- // 解析音乐源
74
- const sources = [];
75
- for (const source of sourcesParam) {
76
- const normalized = source.toLowerCase();
77
- if (["qq", "netease"].includes(normalized)) {
78
- sources.push(normalized);
79
- }
80
- }
81
- // 如果没有指定音乐源,默认搜索 QQ 和网易云
82
- const searchSources = sources.length > 0 ? sources : ["qq", "netease"];
83
- logger.info(`搜索音乐: ${keyword}, 来源: ${searchSources.join(", ")}`);
84
- // 并行搜索多个音乐源
85
- const searchPromises = searchSources.map((source) => musicServices[source].search(keyword, 5));
86
- const searchResults = await Promise.all(searchPromises);
87
- const allMusic = searchResults.flat().filter(Boolean);
88
- if (allMusic.length === 0) {
89
- await message.$reply("没有找到结果");
90
- return;
91
- }
92
- // 使用 Prompt 让用户选择
93
- const prompt = new Prompt(plugin, message);
94
- const musicUrl = await prompt.pick("请选择搜索结果", {
95
- type: "text",
96
- options: allMusic.map((music) => ({
97
- label: `${music.title} [${music.source.toUpperCase()}]`,
98
- value: music.url,
99
- })),
100
- });
101
- if (!musicUrl)
102
- return;
103
- const music = allMusic.find((m) => m.url === musicUrl);
104
- // 现在支持直接使用 JSX 语法,异步组件会自动 await
105
- return _jsx(ShareMusic, { platform: music.source, musicId: music.id });
106
- });
69
+ .platform('icqq'); // 限制为 icqq 平台
107
70
  // 分享音乐工具(直接分享指定音乐)
108
71
  const shareMusicTool = new ZhinTool('music_share')
109
72
  .desc('分享指定的音乐')
@@ -135,13 +98,6 @@ const shareMusicTool = new ZhinTool('music_share')
135
98
  catch (error) {
136
99
  return { success: false, error: error instanceof Error ? error.message : String(error) };
137
100
  }
138
- })
139
- .action(async (message, result) => {
140
- const { id, source } = result.params;
141
- if (!musicServices[source]) {
142
- return `❌ 不支持的音乐源: ${source}`;
143
- }
144
- return _jsx(ShareMusic, { platform: source, musicId: id });
145
101
  });
146
102
  // 注册工具
147
103
  useContext('tool', (toolService) => {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;AAEpD,YAAY;AACZ,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA8C;IAC5H,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,0BAA0B,CAAC;IAChD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnE,OAAO,mBAAW,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAI,CAAA;AACjE,CAAC,EAAE,YAAY,CAAC,CAAA;AAChB,YAAY,CAAC,UAAU,CAAC,CAAA;AAExB,yBAAyB;AACzB,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,UAAU,QAAQ,CACtD,KAA4C,EAC5C,OAAO;IAEP,IAAI,CAAC;QACH,oCAAoC;QACpC,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrF,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC;QACD,SAAS;QACT,OAAO,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;IAClC,CAAC;AACH,CAAC,EAAE,UAAU,CAAC,CAAC;AAEf,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEvB,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC;KACjD,IAAI,CAAC,aAAa,CAAC;KACnB,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;KAC7B,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC;KAChE,KAAK,CAAC,QAAQ,EAAE;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;CACxB,CAAC;KACD,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/D,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE;IAChD,MAAM,UAAU,GAAG,OAAiB,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAe,CAAC;IAEjC,QAAQ;IACR,MAAM,aAAa,GAAkB,MAAM;QACzC,CAAC,CAAC,CAAC,MAAqB,CAAC;QACzB,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEtB,MAAM,CAAC,IAAI,CAAC,YAAY,UAAU,SAAS,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvE,OAAO;IACP,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC3C,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC9C,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC,CAAC;QACH,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC,CAAC;KACD,QAAQ,CAAC,MAAM,CAAC,CAAE,cAAc;KAChC,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,MAAW,EAAE,EAAE;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAEjD,QAAQ;IACR,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,UAAyB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,aAAa,GACjB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEnD,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,SAAS,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEjE,YAAY;IACZ,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAClD,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CACzC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;QAC5C,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG;YACvD,KAAK,EAAE,KAAK,CAAC,GAAG;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAE,CAAC;IAExD,gCAAgC;IAChC,OAAO,KAAC,UAAU,IAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAI,CAAA;AAClE,CAAC,CAAC,CAAC;AAEL,mBAAmB;AACnB,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC;KAC/C,IAAI,CAAC,SAAS,CAAC;KACf,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;KAC7B,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC;KAC3D,KAAK,CAAC,QAAQ,EAAE;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,mBAAmB;IAChC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;CACxB,EAAE,IAAI,CAAC;KACP,QAAQ,CAAC,MAAM,CAAC;KAChB,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAqB,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,MAAM,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAY,CAAC,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE;gBACL,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3F,CAAC;AACH,CAAC,CAAC;KACD,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,MAAW,EAAE,EAAE;IAC9C,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IAErC,IAAI,CAAC,aAAa,CAAC,MAAqB,CAAC,EAAE,CAAC;QAC1C,OAAO,cAAc,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,KAAC,UAAU,IAAC,QAAQ,EAAE,MAAqB,EAAE,OAAO,EAAE,EAAE,GAAI,CAAC;AACtE,CAAC,CAAC,CAAC;AAEL,OAAO;AACP,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,MAAM,SAAS,GAAG;QAChB,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;QAC7C,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;KAC7C,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAExB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/plugin-music",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Music search and sharing plugin for Zhin.js",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -40,13 +40,13 @@
40
40
  "license": "MIT",
41
41
  "dependencies": {},
42
42
  "devDependencies": {
43
- "typescript": "^5.3.3",
44
- "zhin.js": "1.0.58",
45
- "@zhin.js/adapter-icqq": "2.0.0"
43
+ "typescript": "^5.9.3",
44
+ "zhin.js": "1.0.60",
45
+ "@zhin.js/adapter-icqq": "2.0.2"
46
46
  },
47
47
  "peerDependencies": {
48
- "@zhin.js/adapter-icqq": "2.0.0",
49
- "zhin.js": "1.0.58"
48
+ "@zhin.js/adapter-icqq": "2.0.2",
49
+ "zhin.js": "1.0.60"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
52
  "@zhin.js/adapter-icqq": {
package/src/index.tsx CHANGED
@@ -1,5 +1,4 @@
1
- import { usePlugin, defineComponent, Prompt, ZhinTool, type Message } from "zhin.js";
2
- import type {} from '@zhin.js/adapter-icqq'
1
+ import { usePlugin, defineComponent, ZhinTool } from "zhin.js";
3
2
  import { musicServices } from "./sources/index.js";
4
3
  import { sourceConfigMap } from "./config.js";
5
4
  import type { MusicSource } from "./types.js";
@@ -81,56 +80,7 @@ const searchMusicTool = new ZhinTool('music_search')
81
80
  total: allMusic.length,
82
81
  };
83
82
  })
84
- .platform('icqq') // 限制为 icqq 平台
85
- .action(async (message: Message, result: any) => {
86
- const keyword = result.params.keyword;
87
- const sourcesParam = result.params.sources || [];
88
-
89
- // 解析音乐源
90
- const sources: MusicSource[] = [];
91
- for (const source of sourcesParam) {
92
- const normalized = source.toLowerCase();
93
- if (["qq", "netease"].includes(normalized)) {
94
- sources.push(normalized as MusicSource);
95
- }
96
- }
97
-
98
- // 如果没有指定音乐源,默认搜索 QQ 和网易云
99
- const searchSources: MusicSource[] =
100
- sources.length > 0 ? sources : ["qq", "netease"];
101
-
102
- logger.info(`搜索音乐: ${keyword}, 来源: ${searchSources.join(", ")}`);
103
-
104
- // 并行搜索多个音乐源
105
- const searchPromises = searchSources.map((source) =>
106
- musicServices[source].search(keyword, 5)
107
- );
108
-
109
- const searchResults = await Promise.all(searchPromises);
110
- const allMusic = searchResults.flat().filter(Boolean);
111
-
112
- if (allMusic.length === 0) {
113
- await message.$reply("没有找到结果");
114
- return;
115
- }
116
-
117
- // 使用 Prompt 让用户选择
118
- const prompt = new Prompt(plugin, message);
119
- const musicUrl = await prompt.pick("请选择搜索结果", {
120
- type: "text",
121
- options: allMusic.map((music) => ({
122
- label: `${music.title} [${music.source.toUpperCase()}]`,
123
- value: music.url,
124
- })),
125
- });
126
-
127
- if (!musicUrl) return;
128
-
129
- const music = allMusic.find((m) => m.url === musicUrl)!;
130
-
131
- // 现在支持直接使用 JSX 语法,异步组件会自动 await
132
- return <ShareMusic platform={music.source} musicId={music.id} />
133
- });
83
+ .platform('icqq'); // 限制为 icqq 平台
134
84
 
135
85
  // 分享音乐工具(直接分享指定音乐)
136
86
  const shareMusicTool = new ZhinTool('music_share')
@@ -163,15 +113,6 @@ const shareMusicTool = new ZhinTool('music_share')
163
113
  } catch (error) {
164
114
  return { success: false, error: error instanceof Error ? error.message : String(error) };
165
115
  }
166
- })
167
- .action(async (message: Message, result: any) => {
168
- const { id, source } = result.params;
169
-
170
- if (!musicServices[source as MusicSource]) {
171
- return `❌ 不支持的音乐源: ${source}`;
172
- }
173
-
174
- return <ShareMusic platform={source as MusicSource} musicId={id} />;
175
116
  });
176
117
 
177
118
  // 注册工具