@ziplayer/plugin 0.0.5 → 0.1.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/YTSR_README.md +310 -0
- package/dist/SoundCloudPlugin.d.ts +149 -0
- package/dist/SoundCloudPlugin.d.ts.map +1 -1
- package/dist/SoundCloudPlugin.js +149 -0
- package/dist/SoundCloudPlugin.js.map +1 -1
- package/dist/SpotifyPlugin.d.ts +127 -5
- package/dist/SpotifyPlugin.d.ts.map +1 -1
- package/dist/SpotifyPlugin.js +127 -5
- package/dist/SpotifyPlugin.js.map +1 -1
- package/dist/TTSPlugin.d.ts +123 -2
- package/dist/TTSPlugin.d.ts.map +1 -1
- package/dist/TTSPlugin.js +114 -0
- package/dist/TTSPlugin.js.map +1 -1
- package/dist/YTSRPlugin.d.ts +249 -0
- package/dist/YTSRPlugin.d.ts.map +1 -0
- package/dist/YTSRPlugin.js +561 -0
- package/dist/YTSRPlugin.js.map +1 -0
- package/dist/YouTubePlugin.d.ts +148 -0
- package/dist/YouTubePlugin.d.ts.map +1 -1
- package/dist/YouTubePlugin.js +148 -0
- package/dist/YouTubePlugin.js.map +1 -1
- package/dist/index.d.ts +94 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +96 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/SoundCloudPlugin.ts +149 -0
- package/src/SpotifyPlugin.ts +312 -190
- package/src/TTSPlugin.ts +130 -3
- package/src/YTSRPlugin.ts +564 -0
- package/src/YouTubePlugin.ts +528 -380
- package/src/index.ts +99 -0
package/dist/YouTubePlugin.d.ts
CHANGED
|
@@ -1,23 +1,171 @@
|
|
|
1
1
|
import { BasePlugin, Track, SearchResult, StreamInfo } from "ziplayer";
|
|
2
|
+
/**
|
|
3
|
+
* A plugin for handling YouTube audio content including videos, playlists, and search functionality.
|
|
4
|
+
*
|
|
5
|
+
* This plugin provides comprehensive support for:
|
|
6
|
+
* - YouTube video URLs (youtube.com, youtu.be, music.youtube.com)
|
|
7
|
+
* - YouTube playlist URLs and dynamic mixes
|
|
8
|
+
* - YouTube search queries
|
|
9
|
+
* - Audio stream extraction from YouTube videos
|
|
10
|
+
* - Related track recommendations
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const youtubePlugin = new YouTubePlugin();
|
|
14
|
+
*
|
|
15
|
+
* // Add to PlayerManager
|
|
16
|
+
* const manager = new PlayerManager({
|
|
17
|
+
* plugins: [youtubePlugin]
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* // Search for videos
|
|
21
|
+
* const result = await youtubePlugin.search("Never Gonna Give You Up", "user123");
|
|
22
|
+
*
|
|
23
|
+
* // Get audio stream
|
|
24
|
+
* const stream = await youtubePlugin.getStream(result.tracks[0]);
|
|
25
|
+
*
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
*/
|
|
2
28
|
export declare class YouTubePlugin extends BasePlugin {
|
|
3
29
|
name: string;
|
|
4
30
|
version: string;
|
|
5
31
|
private client;
|
|
6
32
|
private searchClient;
|
|
7
33
|
private ready;
|
|
34
|
+
/**
|
|
35
|
+
* Creates a new YouTubePlugin instance.
|
|
36
|
+
*
|
|
37
|
+
* The plugin will automatically initialize YouTube clients for both video playback
|
|
38
|
+
* and search functionality. Initialization is asynchronous and handled internally.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* const plugin = new YouTubePlugin();
|
|
42
|
+
* // Plugin is ready to use after initialization completes
|
|
43
|
+
*/
|
|
8
44
|
constructor();
|
|
9
45
|
private init;
|
|
10
46
|
private buildTrack;
|
|
47
|
+
/**
|
|
48
|
+
* Determines if this plugin can handle the given query.
|
|
49
|
+
*
|
|
50
|
+
* @param query - The search query or URL to check
|
|
51
|
+
* @returns `true` if the plugin can handle the query, `false` otherwise
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* plugin.canHandle("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); // true
|
|
55
|
+
* plugin.canHandle("Never Gonna Give You Up"); // true
|
|
56
|
+
* plugin.canHandle("spotify:track:123"); // false
|
|
57
|
+
*/
|
|
11
58
|
canHandle(query: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Validates if a URL is a valid YouTube URL.
|
|
61
|
+
*
|
|
62
|
+
* @param url - The URL to validate
|
|
63
|
+
* @returns `true` if the URL is a valid YouTube URL, `false` otherwise
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* plugin.validate("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); // true
|
|
67
|
+
* plugin.validate("https://youtu.be/dQw4w9WgXcQ"); // true
|
|
68
|
+
* plugin.validate("https://spotify.com/track/123"); // false
|
|
69
|
+
*/
|
|
12
70
|
validate(url: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Searches for YouTube content based on the given query.
|
|
73
|
+
*
|
|
74
|
+
* This method handles both URL-based queries (direct video/playlist links) and
|
|
75
|
+
* text-based search queries. For URLs, it will extract video or playlist information.
|
|
76
|
+
* For text queries, it will perform a YouTube search and return up to 10 results.
|
|
77
|
+
*
|
|
78
|
+
* @param query - The search query (URL or text)
|
|
79
|
+
* @param requestedBy - The user ID who requested the search
|
|
80
|
+
* @returns A SearchResult containing tracks and optional playlist information
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* // Search by URL
|
|
84
|
+
* const result = await plugin.search("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "user123");
|
|
85
|
+
*
|
|
86
|
+
* // Search by text
|
|
87
|
+
* const searchResult = await plugin.search("Never Gonna Give You Up", "user123");
|
|
88
|
+
* console.log(searchResult.tracks); // Array of Track objects
|
|
89
|
+
*/
|
|
13
90
|
search(query: string, requestedBy: string): Promise<SearchResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Extracts tracks from a YouTube playlist URL.
|
|
93
|
+
*
|
|
94
|
+
* @param url - The YouTube playlist URL
|
|
95
|
+
* @param requestedBy - The user ID who requested the extraction
|
|
96
|
+
* @returns An array of Track objects from the playlist
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* const tracks = await plugin.extractPlaylist(
|
|
100
|
+
* "https://www.youtube.com/playlist?list=PLrAXtmRdnEQy6nuLMOV8uM0bMq3MUfHc1",
|
|
101
|
+
* "user123"
|
|
102
|
+
* );
|
|
103
|
+
* console.log(`Found ${tracks.length} tracks in playlist`);
|
|
104
|
+
*/
|
|
14
105
|
extractPlaylist(url: string, requestedBy: string): Promise<Track[]>;
|
|
106
|
+
/**
|
|
107
|
+
* Retrieves the audio stream for a YouTube track.
|
|
108
|
+
*
|
|
109
|
+
* This method extracts the audio stream from a YouTube video using the YouTube client.
|
|
110
|
+
* It attempts to get the best quality audio stream available and handles various
|
|
111
|
+
* format fallbacks if the primary method fails.
|
|
112
|
+
*
|
|
113
|
+
* @param track - The Track object to get the stream for
|
|
114
|
+
* @returns A StreamInfo object containing the audio stream and metadata
|
|
115
|
+
* @throws {Error} If the track ID is invalid or stream extraction fails
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* const track = { id: "dQw4w9WgXcQ", title: "Never Gonna Give You Up", ... };
|
|
119
|
+
* const streamInfo = await plugin.getStream(track);
|
|
120
|
+
* console.log(streamInfo.type); // "arbitrary"
|
|
121
|
+
* console.log(streamInfo.stream); // Readable stream
|
|
122
|
+
*/
|
|
15
123
|
getStream(track: Track): Promise<StreamInfo>;
|
|
124
|
+
/**
|
|
125
|
+
* Gets related tracks for a given YouTube video.
|
|
126
|
+
*
|
|
127
|
+
* This method fetches the "watch next" feed from YouTube to find related videos
|
|
128
|
+
* that are similar to the provided track. It can filter out tracks that are
|
|
129
|
+
* already in the history to avoid duplicates.
|
|
130
|
+
*
|
|
131
|
+
* @param trackURL - The YouTube video URL to get related tracks for
|
|
132
|
+
* @param opts - Options for filtering and limiting results
|
|
133
|
+
* @param opts.limit - Maximum number of related tracks to return (default: 5)
|
|
134
|
+
* @param opts.offset - Number of tracks to skip from the beginning (default: 0)
|
|
135
|
+
* @param opts.history - Array of tracks to exclude from results
|
|
136
|
+
* @returns An array of related Track objects
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* const related = await plugin.getRelatedTracks(
|
|
140
|
+
* "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
141
|
+
* { limit: 3, history: [currentTrack] }
|
|
142
|
+
* );
|
|
143
|
+
* console.log(`Found ${related.length} related tracks`);
|
|
144
|
+
*/
|
|
16
145
|
getRelatedTracks(trackURL: string, opts?: {
|
|
17
146
|
limit?: number;
|
|
18
147
|
offset?: number;
|
|
19
148
|
history?: Track[];
|
|
20
149
|
}): Promise<Track[]>;
|
|
150
|
+
/**
|
|
151
|
+
* Provides a fallback stream by searching for the track title.
|
|
152
|
+
*
|
|
153
|
+
* This method is used when the primary stream extraction fails. It performs
|
|
154
|
+
* a search using the track's title and attempts to get a stream from the
|
|
155
|
+
* first search result.
|
|
156
|
+
*
|
|
157
|
+
* @param track - The Track object to get a fallback stream for
|
|
158
|
+
* @returns A StreamInfo object containing the fallback audio stream
|
|
159
|
+
* @throws {Error} If no fallback track is found or stream extraction fails
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* try {
|
|
163
|
+
* const stream = await plugin.getStream(track);
|
|
164
|
+
* } catch (error) {
|
|
165
|
+
* // Try fallback
|
|
166
|
+
* const fallbackStream = await plugin.getFallback(track);
|
|
167
|
+
* }
|
|
168
|
+
*/
|
|
21
169
|
getFallback(track: Track): Promise<StreamInfo>;
|
|
22
170
|
private extractVideoId;
|
|
23
171
|
private isMixListId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouTubePlugin.d.ts","sourceRoot":"","sources":["../src/YouTubePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAIvE,qBAAa,aAAc,SAAQ,UAAU;IAC5C,IAAI,SAAa;IACjB,OAAO,SAAW;IAElB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,KAAK,CAAgB;;
|
|
1
|
+
{"version":3,"file":"YouTubePlugin.d.ts","sourceRoot":"","sources":["../src/YouTubePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAC5C,IAAI,SAAa;IACjB,OAAO,SAAW;IAElB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,KAAK,CAAgB;IAE7B;;;;;;;;;OASG;;YAMW,IAAI;IAelB,OAAO,CAAC,UAAU;IA0ElB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAsBjC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAU9B;;;;;;;;;;;;;;;;;;OAkBG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAkEvE;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA+BzE;;;;;;;;;;;;;;;;OAgBG;IACG,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IA8DlD;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAoB7H;;;;;;;;;;;;;;;;;;OAkBG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;IAWpD,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa;CAQrB"}
|
package/dist/YouTubePlugin.js
CHANGED
|
@@ -3,7 +3,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.YouTubePlugin = void 0;
|
|
4
4
|
const ziplayer_1 = require("ziplayer");
|
|
5
5
|
const youtubei_js_1 = require("youtubei.js");
|
|
6
|
+
/**
|
|
7
|
+
* A plugin for handling YouTube audio content including videos, playlists, and search functionality.
|
|
8
|
+
*
|
|
9
|
+
* This plugin provides comprehensive support for:
|
|
10
|
+
* - YouTube video URLs (youtube.com, youtu.be, music.youtube.com)
|
|
11
|
+
* - YouTube playlist URLs and dynamic mixes
|
|
12
|
+
* - YouTube search queries
|
|
13
|
+
* - Audio stream extraction from YouTube videos
|
|
14
|
+
* - Related track recommendations
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const youtubePlugin = new YouTubePlugin();
|
|
18
|
+
*
|
|
19
|
+
* // Add to PlayerManager
|
|
20
|
+
* const manager = new PlayerManager({
|
|
21
|
+
* plugins: [youtubePlugin]
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Search for videos
|
|
25
|
+
* const result = await youtubePlugin.search("Never Gonna Give You Up", "user123");
|
|
26
|
+
*
|
|
27
|
+
* // Get audio stream
|
|
28
|
+
* const stream = await youtubePlugin.getStream(result.tracks[0]);
|
|
29
|
+
*
|
|
30
|
+
* @since 1.0.0
|
|
31
|
+
*/
|
|
6
32
|
class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
33
|
+
/**
|
|
34
|
+
* Creates a new YouTubePlugin instance.
|
|
35
|
+
*
|
|
36
|
+
* The plugin will automatically initialize YouTube clients for both video playback
|
|
37
|
+
* and search functionality. Initialization is asynchronous and handled internally.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* const plugin = new YouTubePlugin();
|
|
41
|
+
* // Plugin is ready to use after initialization completes
|
|
42
|
+
*/
|
|
7
43
|
constructor() {
|
|
8
44
|
super();
|
|
9
45
|
this.name = "youtube";
|
|
@@ -49,6 +85,17 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
49
85
|
},
|
|
50
86
|
};
|
|
51
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Determines if this plugin can handle the given query.
|
|
90
|
+
*
|
|
91
|
+
* @param query - The search query or URL to check
|
|
92
|
+
* @returns `true` if the plugin can handle the query, `false` otherwise
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* plugin.canHandle("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); // true
|
|
96
|
+
* plugin.canHandle("Never Gonna Give You Up"); // true
|
|
97
|
+
* plugin.canHandle("spotify:track:123"); // false
|
|
98
|
+
*/
|
|
52
99
|
canHandle(query) {
|
|
53
100
|
const q = (query || "").trim().toLowerCase();
|
|
54
101
|
const isUrl = q.startsWith("http://") || q.startsWith("https://");
|
|
@@ -72,6 +119,17 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
72
119
|
// Treat remaining non-URL free text as YouTube-searchable
|
|
73
120
|
return true;
|
|
74
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Validates if a URL is a valid YouTube URL.
|
|
124
|
+
*
|
|
125
|
+
* @param url - The URL to validate
|
|
126
|
+
* @returns `true` if the URL is a valid YouTube URL, `false` otherwise
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* plugin.validate("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); // true
|
|
130
|
+
* plugin.validate("https://youtu.be/dQw4w9WgXcQ"); // true
|
|
131
|
+
* plugin.validate("https://spotify.com/track/123"); // false
|
|
132
|
+
*/
|
|
75
133
|
validate(url) {
|
|
76
134
|
try {
|
|
77
135
|
const parsed = new URL(url);
|
|
@@ -82,6 +140,25 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
82
140
|
return false;
|
|
83
141
|
}
|
|
84
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Searches for YouTube content based on the given query.
|
|
145
|
+
*
|
|
146
|
+
* This method handles both URL-based queries (direct video/playlist links) and
|
|
147
|
+
* text-based search queries. For URLs, it will extract video or playlist information.
|
|
148
|
+
* For text queries, it will perform a YouTube search and return up to 10 results.
|
|
149
|
+
*
|
|
150
|
+
* @param query - The search query (URL or text)
|
|
151
|
+
* @param requestedBy - The user ID who requested the search
|
|
152
|
+
* @returns A SearchResult containing tracks and optional playlist information
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* // Search by URL
|
|
156
|
+
* const result = await plugin.search("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "user123");
|
|
157
|
+
*
|
|
158
|
+
* // Search by text
|
|
159
|
+
* const searchResult = await plugin.search("Never Gonna Give You Up", "user123");
|
|
160
|
+
* console.log(searchResult.tracks); // Array of Track objects
|
|
161
|
+
*/
|
|
85
162
|
async search(query, requestedBy) {
|
|
86
163
|
await this.ready;
|
|
87
164
|
if (this.validate(query)) {
|
|
@@ -142,6 +219,20 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
142
219
|
const tracks = items.slice(0, 10).map((v) => this.buildTrack(v, requestedBy));
|
|
143
220
|
return { tracks };
|
|
144
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Extracts tracks from a YouTube playlist URL.
|
|
224
|
+
*
|
|
225
|
+
* @param url - The YouTube playlist URL
|
|
226
|
+
* @param requestedBy - The user ID who requested the extraction
|
|
227
|
+
* @returns An array of Track objects from the playlist
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* const tracks = await plugin.extractPlaylist(
|
|
231
|
+
* "https://www.youtube.com/playlist?list=PLrAXtmRdnEQy6nuLMOV8uM0bMq3MUfHc1",
|
|
232
|
+
* "user123"
|
|
233
|
+
* );
|
|
234
|
+
* console.log(`Found ${tracks.length} tracks in playlist`);
|
|
235
|
+
*/
|
|
145
236
|
async extractPlaylist(url, requestedBy) {
|
|
146
237
|
await this.ready;
|
|
147
238
|
const listId = this.extractListId(url);
|
|
@@ -172,6 +263,23 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
172
263
|
return [];
|
|
173
264
|
}
|
|
174
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* Retrieves the audio stream for a YouTube track.
|
|
268
|
+
*
|
|
269
|
+
* This method extracts the audio stream from a YouTube video using the YouTube client.
|
|
270
|
+
* It attempts to get the best quality audio stream available and handles various
|
|
271
|
+
* format fallbacks if the primary method fails.
|
|
272
|
+
*
|
|
273
|
+
* @param track - The Track object to get the stream for
|
|
274
|
+
* @returns A StreamInfo object containing the audio stream and metadata
|
|
275
|
+
* @throws {Error} If the track ID is invalid or stream extraction fails
|
|
276
|
+
*
|
|
277
|
+
* @example
|
|
278
|
+
* const track = { id: "dQw4w9WgXcQ", title: "Never Gonna Give You Up", ... };
|
|
279
|
+
* const streamInfo = await plugin.getStream(track);
|
|
280
|
+
* console.log(streamInfo.type); // "arbitrary"
|
|
281
|
+
* console.log(streamInfo.stream); // Readable stream
|
|
282
|
+
*/
|
|
175
283
|
async getStream(track) {
|
|
176
284
|
await this.ready;
|
|
177
285
|
const id = this.extractVideoId(track.url) || track.id;
|
|
@@ -230,6 +338,27 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
230
338
|
}
|
|
231
339
|
}
|
|
232
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Gets related tracks for a given YouTube video.
|
|
343
|
+
*
|
|
344
|
+
* This method fetches the "watch next" feed from YouTube to find related videos
|
|
345
|
+
* that are similar to the provided track. It can filter out tracks that are
|
|
346
|
+
* already in the history to avoid duplicates.
|
|
347
|
+
*
|
|
348
|
+
* @param trackURL - The YouTube video URL to get related tracks for
|
|
349
|
+
* @param opts - Options for filtering and limiting results
|
|
350
|
+
* @param opts.limit - Maximum number of related tracks to return (default: 5)
|
|
351
|
+
* @param opts.offset - Number of tracks to skip from the beginning (default: 0)
|
|
352
|
+
* @param opts.history - Array of tracks to exclude from results
|
|
353
|
+
* @returns An array of related Track objects
|
|
354
|
+
*
|
|
355
|
+
* @example
|
|
356
|
+
* const related = await plugin.getRelatedTracks(
|
|
357
|
+
* "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
358
|
+
* { limit: 3, history: [currentTrack] }
|
|
359
|
+
* );
|
|
360
|
+
* console.log(`Found ${related.length} related tracks`);
|
|
361
|
+
*/
|
|
233
362
|
async getRelatedTracks(trackURL, opts = {}) {
|
|
234
363
|
await this.ready;
|
|
235
364
|
const videoId = this.extractVideoId(trackURL);
|
|
@@ -245,6 +374,25 @@ class YouTubePlugin extends ziplayer_1.BasePlugin {
|
|
|
245
374
|
const relatedfilter = related.filter((tr) => tr.content_type === "VIDEO" && !(opts?.history ?? []).some((t) => t.url === tr.url));
|
|
246
375
|
return relatedfilter.slice(offset, offset + limit).map((v) => this.buildTrack(v, "auto"));
|
|
247
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Provides a fallback stream by searching for the track title.
|
|
379
|
+
*
|
|
380
|
+
* This method is used when the primary stream extraction fails. It performs
|
|
381
|
+
* a search using the track's title and attempts to get a stream from the
|
|
382
|
+
* first search result.
|
|
383
|
+
*
|
|
384
|
+
* @param track - The Track object to get a fallback stream for
|
|
385
|
+
* @returns A StreamInfo object containing the fallback audio stream
|
|
386
|
+
* @throws {Error} If no fallback track is found or stream extraction fails
|
|
387
|
+
*
|
|
388
|
+
* @example
|
|
389
|
+
* try {
|
|
390
|
+
* const stream = await plugin.getStream(track);
|
|
391
|
+
* } catch (error) {
|
|
392
|
+
* // Try fallback
|
|
393
|
+
* const fallbackStream = await plugin.getFallback(track);
|
|
394
|
+
* }
|
|
395
|
+
*/
|
|
248
396
|
async getFallback(track) {
|
|
249
397
|
try {
|
|
250
398
|
const result = await this.search(track.title, track.requestedBy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouTubePlugin.js","sourceRoot":"","sources":["../src/YouTubePlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YouTubePlugin.js","sourceRoot":"","sources":["../src/YouTubePlugin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Main export file for ZiPlayer plugins.
|
|
3
|
+
*
|
|
4
|
+
* This module exports all available plugins for the ZiPlayer music bot framework.
|
|
5
|
+
* Each plugin provides support for different audio sources and services.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import { YouTubePlugin, SoundCloudPlugin, SpotifyPlugin, TTSPlugin } from "ziplayer/plugins";
|
|
9
|
+
*
|
|
10
|
+
* const manager = new PlayerManager({
|
|
11
|
+
* plugins: [
|
|
12
|
+
* new YouTubePlugin(),
|
|
13
|
+
* new SoundCloudPlugin(),
|
|
14
|
+
* new SpotifyPlugin(),
|
|
15
|
+
* new TTSPlugin({ defaultLang: "en" })
|
|
16
|
+
* ]
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* YouTube plugin for handling YouTube videos, playlists, and search.
|
|
23
|
+
*
|
|
24
|
+
* Provides comprehensive support for YouTube content including:
|
|
25
|
+
* - Video URLs (youtube.com, youtu.be, music.youtube.com)
|
|
26
|
+
* - Playlist URLs and dynamic mixes
|
|
27
|
+
* - Search functionality
|
|
28
|
+
* - Audio stream extraction
|
|
29
|
+
* - Related track recommendations
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const youtubePlugin = new YouTubePlugin();
|
|
33
|
+
* const result = await youtubePlugin.search("Never Gonna Give You Up", "user123");
|
|
34
|
+
*/
|
|
1
35
|
export { YouTubePlugin } from "./YouTubePlugin";
|
|
36
|
+
/**
|
|
37
|
+
* SoundCloud plugin for handling SoundCloud tracks, playlists, and search.
|
|
38
|
+
*
|
|
39
|
+
* Provides comprehensive support for SoundCloud content including:
|
|
40
|
+
* - Track URLs (soundcloud.com)
|
|
41
|
+
* - Playlist URLs
|
|
42
|
+
* - Search functionality
|
|
43
|
+
* - Audio stream extraction
|
|
44
|
+
* - Related track recommendations
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const soundcloudPlugin = new SoundCloudPlugin();
|
|
48
|
+
* const result = await soundcloudPlugin.search("chill music", "user123");
|
|
49
|
+
*/
|
|
2
50
|
export { SoundCloudPlugin } from "./SoundCloudPlugin";
|
|
51
|
+
/**
|
|
52
|
+
* Spotify plugin for metadata extraction and display purposes.
|
|
53
|
+
*
|
|
54
|
+
* **Note:** This plugin only provides metadata extraction and does not support
|
|
55
|
+
* audio streaming. It uses Spotify's public oEmbed endpoint for display purposes.
|
|
56
|
+
*
|
|
57
|
+
* Provides support for:
|
|
58
|
+
* - Track URLs/URIs (spotify:track:...)
|
|
59
|
+
* - Playlist URLs/URIs (spotify:playlist:...)
|
|
60
|
+
* - Album URLs/URIs (spotify:album:...)
|
|
61
|
+
* - Metadata extraction using oEmbed API
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* const spotifyPlugin = new SpotifyPlugin();
|
|
65
|
+
* const result = await spotifyPlugin.search("spotify:track:4iV5W9uYEdYUVa79Axb7Rh", "user123");
|
|
66
|
+
*/
|
|
3
67
|
export { SpotifyPlugin } from "./SpotifyPlugin";
|
|
68
|
+
/**
|
|
69
|
+
* Text-to-Speech (TTS) plugin for converting text to audio.
|
|
70
|
+
*
|
|
71
|
+
* Provides comprehensive TTS functionality including:
|
|
72
|
+
* - Google TTS integration
|
|
73
|
+
* - Custom TTS provider support
|
|
74
|
+
* - Multiple language support
|
|
75
|
+
* - Configurable speech rate
|
|
76
|
+
* - Flexible query parsing
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* const ttsPlugin = new TTSPlugin({ defaultLang: "en" });
|
|
80
|
+
* const result = await ttsPlugin.search("tts:Hello world", "user123");
|
|
81
|
+
*/
|
|
4
82
|
export { TTSPlugin } from "./TTSPlugin";
|
|
83
|
+
/**
|
|
84
|
+
* YTSR plugin for advanced YouTube search without streaming.
|
|
85
|
+
*
|
|
86
|
+
* Provides comprehensive YouTube search functionality including:
|
|
87
|
+
* - Advanced video search with filters (duration, upload date, sort by)
|
|
88
|
+
* - Playlist and channel search
|
|
89
|
+
* - Multiple search types (video, playlist, channel, all)
|
|
90
|
+
* - Metadata extraction without streaming
|
|
91
|
+
* - Support for YouTube URLs
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* const ytsrPlugin = new YTSRPlugin();
|
|
95
|
+
* const result = await ytsrPlugin.search("Never Gonna Give You Up", "user123");
|
|
96
|
+
* const playlistResult = await ytsrPlugin.searchPlaylist("chill music", "user123");
|
|
97
|
+
*/
|
|
98
|
+
export { YTSRPlugin } from "./YTSRPlugin";
|
|
5
99
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,107 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Main export file for ZiPlayer plugins.
|
|
4
|
+
*
|
|
5
|
+
* This module exports all available plugins for the ZiPlayer music bot framework.
|
|
6
|
+
* Each plugin provides support for different audio sources and services.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* import { YouTubePlugin, SoundCloudPlugin, SpotifyPlugin, TTSPlugin } from "ziplayer/plugins";
|
|
10
|
+
*
|
|
11
|
+
* const manager = new PlayerManager({
|
|
12
|
+
* plugins: [
|
|
13
|
+
* new YouTubePlugin(),
|
|
14
|
+
* new SoundCloudPlugin(),
|
|
15
|
+
* new SpotifyPlugin(),
|
|
16
|
+
* new TTSPlugin({ defaultLang: "en" })
|
|
17
|
+
* ]
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
*/
|
|
2
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TTSPlugin = exports.SpotifyPlugin = exports.SoundCloudPlugin = exports.YouTubePlugin = void 0;
|
|
23
|
+
exports.YTSRPlugin = exports.TTSPlugin = exports.SpotifyPlugin = exports.SoundCloudPlugin = exports.YouTubePlugin = void 0;
|
|
24
|
+
/**
|
|
25
|
+
* YouTube plugin for handling YouTube videos, playlists, and search.
|
|
26
|
+
*
|
|
27
|
+
* Provides comprehensive support for YouTube content including:
|
|
28
|
+
* - Video URLs (youtube.com, youtu.be, music.youtube.com)
|
|
29
|
+
* - Playlist URLs and dynamic mixes
|
|
30
|
+
* - Search functionality
|
|
31
|
+
* - Audio stream extraction
|
|
32
|
+
* - Related track recommendations
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* const youtubePlugin = new YouTubePlugin();
|
|
36
|
+
* const result = await youtubePlugin.search("Never Gonna Give You Up", "user123");
|
|
37
|
+
*/
|
|
4
38
|
var YouTubePlugin_1 = require("./YouTubePlugin");
|
|
5
39
|
Object.defineProperty(exports, "YouTubePlugin", { enumerable: true, get: function () { return YouTubePlugin_1.YouTubePlugin; } });
|
|
40
|
+
/**
|
|
41
|
+
* SoundCloud plugin for handling SoundCloud tracks, playlists, and search.
|
|
42
|
+
*
|
|
43
|
+
* Provides comprehensive support for SoundCloud content including:
|
|
44
|
+
* - Track URLs (soundcloud.com)
|
|
45
|
+
* - Playlist URLs
|
|
46
|
+
* - Search functionality
|
|
47
|
+
* - Audio stream extraction
|
|
48
|
+
* - Related track recommendations
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const soundcloudPlugin = new SoundCloudPlugin();
|
|
52
|
+
* const result = await soundcloudPlugin.search("chill music", "user123");
|
|
53
|
+
*/
|
|
6
54
|
var SoundCloudPlugin_1 = require("./SoundCloudPlugin");
|
|
7
55
|
Object.defineProperty(exports, "SoundCloudPlugin", { enumerable: true, get: function () { return SoundCloudPlugin_1.SoundCloudPlugin; } });
|
|
56
|
+
/**
|
|
57
|
+
* Spotify plugin for metadata extraction and display purposes.
|
|
58
|
+
*
|
|
59
|
+
* **Note:** This plugin only provides metadata extraction and does not support
|
|
60
|
+
* audio streaming. It uses Spotify's public oEmbed endpoint for display purposes.
|
|
61
|
+
*
|
|
62
|
+
* Provides support for:
|
|
63
|
+
* - Track URLs/URIs (spotify:track:...)
|
|
64
|
+
* - Playlist URLs/URIs (spotify:playlist:...)
|
|
65
|
+
* - Album URLs/URIs (spotify:album:...)
|
|
66
|
+
* - Metadata extraction using oEmbed API
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* const spotifyPlugin = new SpotifyPlugin();
|
|
70
|
+
* const result = await spotifyPlugin.search("spotify:track:4iV5W9uYEdYUVa79Axb7Rh", "user123");
|
|
71
|
+
*/
|
|
8
72
|
var SpotifyPlugin_1 = require("./SpotifyPlugin");
|
|
9
73
|
Object.defineProperty(exports, "SpotifyPlugin", { enumerable: true, get: function () { return SpotifyPlugin_1.SpotifyPlugin; } });
|
|
74
|
+
/**
|
|
75
|
+
* Text-to-Speech (TTS) plugin for converting text to audio.
|
|
76
|
+
*
|
|
77
|
+
* Provides comprehensive TTS functionality including:
|
|
78
|
+
* - Google TTS integration
|
|
79
|
+
* - Custom TTS provider support
|
|
80
|
+
* - Multiple language support
|
|
81
|
+
* - Configurable speech rate
|
|
82
|
+
* - Flexible query parsing
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* const ttsPlugin = new TTSPlugin({ defaultLang: "en" });
|
|
86
|
+
* const result = await ttsPlugin.search("tts:Hello world", "user123");
|
|
87
|
+
*/
|
|
10
88
|
var TTSPlugin_1 = require("./TTSPlugin");
|
|
11
89
|
Object.defineProperty(exports, "TTSPlugin", { enumerable: true, get: function () { return TTSPlugin_1.TTSPlugin; } });
|
|
90
|
+
/**
|
|
91
|
+
* YTSR plugin for advanced YouTube search without streaming.
|
|
92
|
+
*
|
|
93
|
+
* Provides comprehensive YouTube search functionality including:
|
|
94
|
+
* - Advanced video search with filters (duration, upload date, sort by)
|
|
95
|
+
* - Playlist and channel search
|
|
96
|
+
* - Multiple search types (video, playlist, channel, all)
|
|
97
|
+
* - Metadata extraction without streaming
|
|
98
|
+
* - Support for YouTube URLs
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* const ytsrPlugin = new YTSRPlugin();
|
|
102
|
+
* const result = await ytsrPlugin.search("Never Gonna Give You Up", "user123");
|
|
103
|
+
* const playlistResult = await ytsrPlugin.searchPlaylist("chill music", "user123");
|
|
104
|
+
*/
|
|
105
|
+
var YTSRPlugin_1 = require("./YTSRPlugin");
|
|
106
|
+
Object.defineProperty(exports, "YTSRPlugin", { enumerable: true, get: function () { return YTSRPlugin_1.YTSRPlugin; } });
|
|
12
107
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH;;;;;;;;;;;;;GAaG;AACH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB;;;;;;;;;;;;;GAaG;AACH,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB;;;;;;;;;;;;;GAaG;AACH,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB;;;;;;;;;;;;;;GAcG;AACH,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
|