ziplayer 0.1.1 → 0.1.3
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/dist/structures/Player.d.ts +48 -0
- package/dist/structures/Player.d.ts.map +1 -1
- package/dist/structures/Player.js +155 -10
- package/dist/structures/Player.js.map +1 -1
- package/package.json +45 -45
- package/src/extensions/index.ts +32 -32
- package/src/index.ts +16 -16
- package/src/plugins/BasePlugin.ts +26 -26
- package/src/plugins/index.ts +32 -32
- package/src/structures/Player.ts +185 -10
- package/tsconfig.json +23 -23
|
@@ -67,6 +67,9 @@ export declare class Player extends EventEmitter {
|
|
|
67
67
|
private pluginCache;
|
|
68
68
|
private readonly PLUGIN_CACHE_TTL;
|
|
69
69
|
private pluginCacheTimestamps;
|
|
70
|
+
private searchCache;
|
|
71
|
+
private readonly SEARCH_CACHE_TTL;
|
|
72
|
+
private searchCacheTimestamps;
|
|
70
73
|
/**
|
|
71
74
|
* Attach an extension to the player
|
|
72
75
|
*
|
|
@@ -189,6 +192,51 @@ export declare class Player extends EventEmitter {
|
|
|
189
192
|
hitRate: number;
|
|
190
193
|
expiredEntries: number;
|
|
191
194
|
};
|
|
195
|
+
/**
|
|
196
|
+
* Get cached search result or null if not found/expired
|
|
197
|
+
* @param query The search query
|
|
198
|
+
* @returns Cached search result or null
|
|
199
|
+
*/
|
|
200
|
+
private getCachedSearchResult;
|
|
201
|
+
/**
|
|
202
|
+
* Cache search result
|
|
203
|
+
* @param query The search query
|
|
204
|
+
* @param result The search result to cache
|
|
205
|
+
*/
|
|
206
|
+
private cacheSearchResult;
|
|
207
|
+
/**
|
|
208
|
+
* Clear expired search cache entries
|
|
209
|
+
*/
|
|
210
|
+
private clearExpiredSearchCache;
|
|
211
|
+
/**
|
|
212
|
+
* Clear all search cache entries
|
|
213
|
+
* @example
|
|
214
|
+
* player.clearSearchCache();
|
|
215
|
+
*/
|
|
216
|
+
clearSearchCache(): void;
|
|
217
|
+
/**
|
|
218
|
+
* Get search cache statistics
|
|
219
|
+
* @returns Search cache statistics
|
|
220
|
+
* @example
|
|
221
|
+
* const stats = player.getSearchCacheStats();
|
|
222
|
+
* console.log(`Search cache size: ${stats.size}, Expired: ${stats.expiredEntries}`);
|
|
223
|
+
*/
|
|
224
|
+
getSearchCacheStats(): {
|
|
225
|
+
size: number;
|
|
226
|
+
expiredEntries: number;
|
|
227
|
+
queries: string[];
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* Debug method to check for duplicate search calls
|
|
231
|
+
* @param query The search query to check
|
|
232
|
+
* @returns Debug information about the query
|
|
233
|
+
*/
|
|
234
|
+
debugSearchQuery(query: string): {
|
|
235
|
+
isCached: boolean;
|
|
236
|
+
cacheAge?: number;
|
|
237
|
+
pluginCount: number;
|
|
238
|
+
ttsFiltered: boolean;
|
|
239
|
+
};
|
|
192
240
|
/** Build AudioResource for a given track using the plugin pipeline */
|
|
193
241
|
private resourceFromTrack;
|
|
194
242
|
private generateWillNext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKN,eAAe,EACf,WAAW,IAAI,kBAAkB,EAMjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACN,KAAK,EACL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EAER,MAAM,UAAU,CAAC;AASlB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,MAAM,CAAC,OAAO,WAAW,MAAM;IAC9B,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/F,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,MAAO,SAAQ,YAAY;IACvC,SAAgB,OAAO,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAQ;IAC1C,WAAW,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAO;IACrB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,gBAAgB,CAAoB;IAG5C,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,qBAAqB,CAA6B;IAE1D;;;;;;OAMG;IACI,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAOtD;;;;;;OAMG;IACI,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAUtD;;;;;;;OAOG;IACI,aAAa,IAAI,SAAS,aAAa,EAAE;IAIhD,OAAO,CAAC,wBAAwB;YAalB,kBAAkB;YA0ClB,iBAAiB;YAkBjB,uBAAuB;YAkBvB,uBAAuB;IAkBrC;;OAEG;YACW,UAAU;
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"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"}
|
|
@@ -224,14 +224,18 @@ class Player extends events_1.EventEmitter {
|
|
|
224
224
|
this.debug(`[Player] getStream failed, trying getFallback:`, streamError);
|
|
225
225
|
const allplugs = this.pluginManager.getAll();
|
|
226
226
|
for (const p of allplugs) {
|
|
227
|
-
if (typeof p.getFallback !== "function") {
|
|
227
|
+
if (typeof p.getFallback !== "function" && typeof p.getStream !== "function") {
|
|
228
228
|
continue;
|
|
229
229
|
}
|
|
230
230
|
try {
|
|
231
|
+
streamInfo = await (0, timeout_1.withTimeout)(p.getStream(track), this.options.extractorTimeout ?? 15000, `getStream timed out for plugin ${p.name}`);
|
|
232
|
+
if (streamInfo?.stream) {
|
|
233
|
+
this.debug(`[Player] getStream succeeded with plugin ${p.name} for track: ${track.title}`);
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
231
236
|
streamInfo = await (0, timeout_1.withTimeout)(p.getFallback(track), this.options.extractorTimeout ?? 15000, `getFallback timed out for plugin ${p.name}`);
|
|
232
237
|
if (!streamInfo?.stream)
|
|
233
238
|
continue;
|
|
234
|
-
this.debug(`[Player] getFallback succeeded with plugin ${p.name} for track: ${track.title}`);
|
|
235
239
|
break;
|
|
236
240
|
}
|
|
237
241
|
catch (fallbackError) {
|
|
@@ -325,6 +329,10 @@ class Player extends events_1.EventEmitter {
|
|
|
325
329
|
this.pluginCache = new Map();
|
|
326
330
|
this.PLUGIN_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
|
|
327
331
|
this.pluginCacheTimestamps = new Map();
|
|
332
|
+
// Cache for search results to avoid duplicate calls
|
|
333
|
+
this.searchCache = new Map();
|
|
334
|
+
this.SEARCH_CACHE_TTL = 2 * 60 * 1000; // 2 minutes
|
|
335
|
+
this.searchCacheTimestamps = new Map();
|
|
328
336
|
// TTS support
|
|
329
337
|
this.ttsPlayer = null;
|
|
330
338
|
this.ttsQueue = [];
|
|
@@ -498,30 +506,58 @@ class Player extends events_1.EventEmitter {
|
|
|
498
506
|
*/
|
|
499
507
|
async search(query, requestedBy) {
|
|
500
508
|
this.debug(`[Player] Search called with query: ${query}, requestedBy: ${requestedBy}`);
|
|
509
|
+
// Clear expired search cache periodically
|
|
510
|
+
if (Math.random() < 0.1) {
|
|
511
|
+
// 10% chance to clean cache
|
|
512
|
+
this.clearExpiredSearchCache();
|
|
513
|
+
}
|
|
514
|
+
// Check cache first
|
|
515
|
+
const cachedResult = this.getCachedSearchResult(query);
|
|
516
|
+
if (cachedResult) {
|
|
517
|
+
return cachedResult;
|
|
518
|
+
}
|
|
519
|
+
// Try extensions first
|
|
501
520
|
const extensionResult = await this.extensionsProvideSearch(query, requestedBy);
|
|
502
521
|
if (extensionResult && Array.isArray(extensionResult.tracks) && extensionResult.tracks.length > 0) {
|
|
503
522
|
this.debug(`[Player] Extension handled search for query: ${query}`);
|
|
523
|
+
this.cacheSearchResult(query, extensionResult);
|
|
504
524
|
return extensionResult;
|
|
505
525
|
}
|
|
506
|
-
|
|
526
|
+
// Get plugins and filter out TTS for regular searches
|
|
527
|
+
const allPlugins = this.pluginManager.getAll();
|
|
528
|
+
const plugins = allPlugins.filter((p) => {
|
|
529
|
+
// Skip TTS plugin for regular searches (unless query starts with "tts:")
|
|
530
|
+
if (p.name.toLowerCase() === "tts" && !query.toLowerCase().startsWith("tts:")) {
|
|
531
|
+
this.debug(`[Player] Skipping TTS plugin for regular search: ${query}`);
|
|
532
|
+
return false;
|
|
533
|
+
}
|
|
534
|
+
return true;
|
|
535
|
+
});
|
|
536
|
+
this.debug(`[Player] Using ${plugins.length} plugins for search (filtered from ${allPlugins.length})`);
|
|
507
537
|
let lastError = null;
|
|
538
|
+
let searchAttempts = 0;
|
|
508
539
|
for (const p of plugins) {
|
|
540
|
+
searchAttempts++;
|
|
509
541
|
try {
|
|
510
|
-
this.debug(`[Player] Trying plugin for search: ${p.name}`);
|
|
542
|
+
this.debug(`[Player] Trying plugin for search: ${p.name} (attempt ${searchAttempts}/${plugins.length})`);
|
|
543
|
+
const startTime = Date.now();
|
|
511
544
|
const res = await (0, timeout_1.withTimeout)(p.search(query, requestedBy), this.options.extractorTimeout ?? 15000, `Search operation timed out for ${p.name}`);
|
|
545
|
+
const duration = Date.now() - startTime;
|
|
512
546
|
if (res && Array.isArray(res.tracks) && res.tracks.length > 0) {
|
|
513
|
-
this.debug(`[Player] Plugin '${p.name}' returned ${res.tracks.length} tracks`);
|
|
547
|
+
this.debug(`[Player] Plugin '${p.name}' returned ${res.tracks.length} tracks in ${duration}ms`);
|
|
548
|
+
this.cacheSearchResult(query, res);
|
|
514
549
|
return res;
|
|
515
550
|
}
|
|
516
|
-
this.debug(`[Player] Plugin '${p.name}' returned no tracks`);
|
|
551
|
+
this.debug(`[Player] Plugin '${p.name}' returned no tracks in ${duration}ms`);
|
|
517
552
|
}
|
|
518
553
|
catch (error) {
|
|
554
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
555
|
+
this.debug(`[Player] Search via plugin '${p.name}' failed: ${errorMessage}`);
|
|
519
556
|
lastError = error;
|
|
520
|
-
this.debug(`[Player] Search via plugin '${p.name}' failed:`, error);
|
|
521
557
|
// Continue to next plugin
|
|
522
558
|
}
|
|
523
559
|
}
|
|
524
|
-
this.debug(`[Player] No plugins returned results for query: ${query}`);
|
|
560
|
+
this.debug(`[Player] No plugins returned results for query: ${query} (tried ${searchAttempts} plugins)`);
|
|
525
561
|
if (lastError)
|
|
526
562
|
this.emit("playerError", lastError);
|
|
527
563
|
throw new Error(`No plugin found to handle: ${query}`);
|
|
@@ -695,8 +731,14 @@ class Player extends events_1.EventEmitter {
|
|
|
695
731
|
await (0, voice_1.entersState)(ttsPlayer, voice_1.AudioPlayerStatus.Playing, 5000).catch(() => null);
|
|
696
732
|
// Derive timeout from resource/track duration when available, with a sensible cap
|
|
697
733
|
const md = resource?.metadata ?? {};
|
|
698
|
-
const declared = typeof md.duration === "number" ? md.duration
|
|
699
|
-
|
|
734
|
+
const declared = typeof md.duration === "number" ? md.duration
|
|
735
|
+
: typeof next?.duration === "number" ? next.duration
|
|
736
|
+
: undefined;
|
|
737
|
+
const declaredMs = declared ?
|
|
738
|
+
declared > 1000 ?
|
|
739
|
+
declared
|
|
740
|
+
: declared * 1000
|
|
741
|
+
: undefined;
|
|
700
742
|
const cap = this.options?.tts?.Max_Time_TTS ?? 60000;
|
|
701
743
|
const idleTimeout = declaredMs ? Math.min(cap, Math.max(1000, declaredMs + 1500)) : cap;
|
|
702
744
|
await (0, voice_1.entersState)(ttsPlayer, voice_1.AudioPlayerStatus.Idle, idleTimeout).catch(() => null);
|
|
@@ -794,6 +836,109 @@ class Player extends events_1.EventEmitter {
|
|
|
794
836
|
expiredEntries,
|
|
795
837
|
};
|
|
796
838
|
}
|
|
839
|
+
/**
|
|
840
|
+
* Get cached search result or null if not found/expired
|
|
841
|
+
* @param query The search query
|
|
842
|
+
* @returns Cached search result or null
|
|
843
|
+
*/
|
|
844
|
+
getCachedSearchResult(query) {
|
|
845
|
+
const cacheKey = query.toLowerCase().trim();
|
|
846
|
+
const now = Date.now();
|
|
847
|
+
const cachedTimestamp = this.searchCacheTimestamps.get(cacheKey);
|
|
848
|
+
if (cachedTimestamp && now - cachedTimestamp < this.SEARCH_CACHE_TTL) {
|
|
849
|
+
const cachedResult = this.searchCache.get(cacheKey);
|
|
850
|
+
if (cachedResult) {
|
|
851
|
+
this.debug(`[SearchCache] Using cached search result for: ${query}`);
|
|
852
|
+
return cachedResult;
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
return null;
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* Cache search result
|
|
859
|
+
* @param query The search query
|
|
860
|
+
* @param result The search result to cache
|
|
861
|
+
*/
|
|
862
|
+
cacheSearchResult(query, result) {
|
|
863
|
+
const cacheKey = query.toLowerCase().trim();
|
|
864
|
+
const now = Date.now();
|
|
865
|
+
this.searchCache.set(cacheKey, result);
|
|
866
|
+
this.searchCacheTimestamps.set(cacheKey, now);
|
|
867
|
+
this.debug(`[SearchCache] Cached search result for: ${query} (${result.tracks.length} tracks)`);
|
|
868
|
+
}
|
|
869
|
+
/**
|
|
870
|
+
* Clear expired search cache entries
|
|
871
|
+
*/
|
|
872
|
+
clearExpiredSearchCache() {
|
|
873
|
+
const now = Date.now();
|
|
874
|
+
for (const [key, timestamp] of this.searchCacheTimestamps.entries()) {
|
|
875
|
+
if (now - timestamp >= this.SEARCH_CACHE_TTL) {
|
|
876
|
+
this.searchCache.delete(key);
|
|
877
|
+
this.searchCacheTimestamps.delete(key);
|
|
878
|
+
this.debug(`[SearchCache] Cleared expired cache entry: ${key}`);
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* Clear all search cache entries
|
|
884
|
+
* @example
|
|
885
|
+
* player.clearSearchCache();
|
|
886
|
+
*/
|
|
887
|
+
clearSearchCache() {
|
|
888
|
+
const cacheSize = this.searchCache.size;
|
|
889
|
+
this.searchCache.clear();
|
|
890
|
+
this.searchCacheTimestamps.clear();
|
|
891
|
+
this.debug(`[SearchCache] Cleared all ${cacheSize} search cache entries`);
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* Get search cache statistics
|
|
895
|
+
* @returns Search cache statistics
|
|
896
|
+
* @example
|
|
897
|
+
* const stats = player.getSearchCacheStats();
|
|
898
|
+
* console.log(`Search cache size: ${stats.size}, Expired: ${stats.expiredEntries}`);
|
|
899
|
+
*/
|
|
900
|
+
getSearchCacheStats() {
|
|
901
|
+
const now = Date.now();
|
|
902
|
+
let expiredEntries = 0;
|
|
903
|
+
const queries = [];
|
|
904
|
+
for (const [key, timestamp] of this.searchCacheTimestamps.entries()) {
|
|
905
|
+
if (now - timestamp >= this.SEARCH_CACHE_TTL) {
|
|
906
|
+
expiredEntries++;
|
|
907
|
+
}
|
|
908
|
+
else {
|
|
909
|
+
queries.push(key);
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
return {
|
|
913
|
+
size: this.searchCache.size,
|
|
914
|
+
expiredEntries,
|
|
915
|
+
queries,
|
|
916
|
+
};
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* Debug method to check for duplicate search calls
|
|
920
|
+
* @param query The search query to check
|
|
921
|
+
* @returns Debug information about the query
|
|
922
|
+
*/
|
|
923
|
+
debugSearchQuery(query) {
|
|
924
|
+
const cacheKey = query.toLowerCase().trim();
|
|
925
|
+
const now = Date.now();
|
|
926
|
+
const cachedTimestamp = this.searchCacheTimestamps.get(cacheKey);
|
|
927
|
+
const isCached = cachedTimestamp && now - cachedTimestamp < this.SEARCH_CACHE_TTL;
|
|
928
|
+
const allPlugins = this.pluginManager.getAll();
|
|
929
|
+
const plugins = allPlugins.filter((p) => {
|
|
930
|
+
if (p.name.toLowerCase() === "tts" && !query.toLowerCase().startsWith("tts:")) {
|
|
931
|
+
return false;
|
|
932
|
+
}
|
|
933
|
+
return true;
|
|
934
|
+
});
|
|
935
|
+
return {
|
|
936
|
+
isCached: !!isCached,
|
|
937
|
+
cacheAge: cachedTimestamp ? now - cachedTimestamp : undefined,
|
|
938
|
+
pluginCount: plugins.length,
|
|
939
|
+
ttsFiltered: allPlugins.length > plugins.length,
|
|
940
|
+
};
|
|
941
|
+
}
|
|
797
942
|
/** Build AudioResource for a given track using the plugin pipeline */
|
|
798
943
|
async resourceFromTrack(track) {
|
|
799
944
|
this.debug(`[ResourceFromTrack] Starting resource creation for track: ${track.title} (${track.source})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ziplayer",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "A modular Discord voice player with plugin system",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"ZiPlayer",
|
|
7
|
-
"discord",
|
|
8
|
-
"music",
|
|
9
|
-
"player",
|
|
10
|
-
"voice",
|
|
11
|
-
"@ziplayer/plugin"
|
|
12
|
-
],
|
|
13
|
-
"homepage": "https://player.ziji.world",
|
|
14
|
-
"bugs": {
|
|
15
|
-
"url": "https://github.com/ZiProject/ZiPlayer/issues"
|
|
16
|
-
},
|
|
17
|
-
"repository": {
|
|
18
|
-
"type": "git",
|
|
19
|
-
"url": "git+https://github.com/ZiProject/ZiPlayer.git"
|
|
20
|
-
},
|
|
21
|
-
"main": "dist/index.js",
|
|
22
|
-
"types": "dist/index.d.ts",
|
|
23
|
-
"scripts": {
|
|
24
|
-
"build": "tsc",
|
|
25
|
-
"dev": "tsc --watch",
|
|
26
|
-
"prepare": "npm run build"
|
|
27
|
-
},
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"@discordjs/voice": "^0.19.0",
|
|
30
|
-
"@snazzah/davey": "^0.1.6",
|
|
31
|
-
"discord.js": "^14.0.0",
|
|
32
|
-
"ffmpeg-static": "^5.2.0",
|
|
33
|
-
"libsodium-wrappers": "^0.7.15",
|
|
34
|
-
"opusscript": "^0.1.1"
|
|
35
|
-
},
|
|
36
|
-
"devDependencies": {
|
|
37
|
-
"@types/node": "^20.0.0",
|
|
38
|
-
"typescript": "^5.0.0"
|
|
39
|
-
},
|
|
40
|
-
"peerDependencies": {
|
|
41
|
-
"@zibot/scdl": "^0.0.5",
|
|
42
|
-
"soundcloud-scraper": "^5.0.2",
|
|
43
|
-
"youtubei.js": "^15.0.1"
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "ziplayer",
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "A modular Discord voice player with plugin system",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ZiPlayer",
|
|
7
|
+
"discord",
|
|
8
|
+
"music",
|
|
9
|
+
"player",
|
|
10
|
+
"voice",
|
|
11
|
+
"@ziplayer/plugin"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://player.ziji.world",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/ZiProject/ZiPlayer/issues"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/ZiProject/ZiPlayer.git"
|
|
20
|
+
},
|
|
21
|
+
"main": "dist/index.js",
|
|
22
|
+
"types": "dist/index.d.ts",
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc",
|
|
25
|
+
"dev": "tsc --watch",
|
|
26
|
+
"prepare": "npm run build"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@discordjs/voice": "^0.19.0",
|
|
30
|
+
"@snazzah/davey": "^0.1.6",
|
|
31
|
+
"discord.js": "^14.0.0",
|
|
32
|
+
"ffmpeg-static": "^5.2.0",
|
|
33
|
+
"libsodium-wrappers": "^0.7.15",
|
|
34
|
+
"opusscript": "^0.1.1"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^20.0.0",
|
|
38
|
+
"typescript": "^5.0.0"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"@zibot/scdl": "^0.0.5",
|
|
42
|
+
"soundcloud-scraper": "^5.0.2",
|
|
43
|
+
"youtubei.js": "^15.0.1"
|
|
44
|
+
}
|
|
45
|
+
}
|
package/src/extensions/index.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { BaseExtension } from "./BaseExtension";
|
|
2
|
-
|
|
3
|
-
export { BaseExtension } from "./BaseExtension";
|
|
4
|
-
|
|
5
|
-
// Extension factory
|
|
6
|
-
export class ExtensionManager {
|
|
7
|
-
private extensions: Map<string, BaseExtension> = new Map();
|
|
8
|
-
|
|
9
|
-
register(extension: BaseExtension): void {
|
|
10
|
-
this.extensions.set(extension.name, extension);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
unregister(name: string): boolean {
|
|
14
|
-
return this.extensions.delete(name);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
get(name: string): BaseExtension | undefined {
|
|
18
|
-
return this.extensions.get(name);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getAll(): BaseExtension[] {
|
|
22
|
-
return Array.from(this.extensions.values());
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
findExtension(alas: any): BaseExtension | undefined {
|
|
26
|
-
return this.getAll().find((extension) => extension.active(alas));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
clear(): void {
|
|
30
|
-
this.extensions.clear();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
1
|
+
import { BaseExtension } from "./BaseExtension";
|
|
2
|
+
|
|
3
|
+
export { BaseExtension } from "./BaseExtension";
|
|
4
|
+
|
|
5
|
+
// Extension factory
|
|
6
|
+
export class ExtensionManager {
|
|
7
|
+
private extensions: Map<string, BaseExtension> = new Map();
|
|
8
|
+
|
|
9
|
+
register(extension: BaseExtension): void {
|
|
10
|
+
this.extensions.set(extension.name, extension);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
unregister(name: string): boolean {
|
|
14
|
+
return this.extensions.delete(name);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get(name: string): BaseExtension | undefined {
|
|
18
|
+
return this.extensions.get(name);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getAll(): BaseExtension[] {
|
|
22
|
+
return Array.from(this.extensions.values());
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
findExtension(alas: any): BaseExtension | undefined {
|
|
26
|
+
return this.getAll().find((extension) => extension.active(alas));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
clear(): void {
|
|
30
|
+
this.extensions.clear();
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { PlayerManager, getGlobalManager } from "./structures/PlayerManager";
|
|
2
|
-
import type { PlayerManagerOptions } from "./types";
|
|
3
|
-
|
|
4
|
-
export { Player } from "./structures/Player";
|
|
5
|
-
export { Queue } from "./structures/Queue";
|
|
6
|
-
export { PlayerManager } from "./structures/PlayerManager";
|
|
7
|
-
export * from "./types";
|
|
8
|
-
export * from "./plugins";
|
|
9
|
-
export * from "./extensions";
|
|
10
|
-
|
|
11
|
-
// Default export
|
|
12
|
-
export default PlayerManager;
|
|
13
|
-
|
|
14
|
-
// Simple shared-instance accessor
|
|
15
|
-
export const getManager = () => getGlobalManager();
|
|
16
|
-
export const getPlayer = (guildOrId: string) => getManager()?.get(guildOrId);
|
|
1
|
+
import { PlayerManager, getGlobalManager } from "./structures/PlayerManager";
|
|
2
|
+
import type { PlayerManagerOptions } from "./types";
|
|
3
|
+
|
|
4
|
+
export { Player } from "./structures/Player";
|
|
5
|
+
export { Queue } from "./structures/Queue";
|
|
6
|
+
export { PlayerManager } from "./structures/PlayerManager";
|
|
7
|
+
export * from "./types";
|
|
8
|
+
export * from "./plugins";
|
|
9
|
+
export * from "./extensions";
|
|
10
|
+
|
|
11
|
+
// Default export
|
|
12
|
+
export default PlayerManager;
|
|
13
|
+
|
|
14
|
+
// Simple shared-instance accessor
|
|
15
|
+
export const getManager = () => getGlobalManager();
|
|
16
|
+
export const getPlayer = (guildOrId: string) => getManager()?.get(guildOrId);
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { SourcePlugin, Track, SearchResult, StreamInfo } from "../types";
|
|
2
|
-
|
|
3
|
-
export abstract class BasePlugin implements SourcePlugin {
|
|
4
|
-
abstract name: string;
|
|
5
|
-
abstract version: string;
|
|
6
|
-
|
|
7
|
-
abstract canHandle(query: string): boolean;
|
|
8
|
-
abstract search(query: string, requestedBy: string): Promise<SearchResult>;
|
|
9
|
-
abstract getStream(track: Track): Promise<StreamInfo>;
|
|
10
|
-
|
|
11
|
-
getFallback?(track: Track): Promise<StreamInfo> {
|
|
12
|
-
throw new Error("getFallback not implemented");
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getRelatedTracks?(trackURL: string, opts?: { limit?: number; offset?: number; history?: Track[] }): Promise<Track[]> {
|
|
16
|
-
return Promise.resolve([]);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
validate?(url: string): boolean {
|
|
20
|
-
return this.canHandle(url);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
extractPlaylist?(url: string, requestedBy: string): Promise<Track[]> {
|
|
24
|
-
return Promise.resolve([]);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
1
|
+
import { SourcePlugin, Track, SearchResult, StreamInfo } from "../types";
|
|
2
|
+
|
|
3
|
+
export abstract class BasePlugin implements SourcePlugin {
|
|
4
|
+
abstract name: string;
|
|
5
|
+
abstract version: string;
|
|
6
|
+
|
|
7
|
+
abstract canHandle(query: string): boolean;
|
|
8
|
+
abstract search(query: string, requestedBy: string): Promise<SearchResult>;
|
|
9
|
+
abstract getStream(track: Track): Promise<StreamInfo>;
|
|
10
|
+
|
|
11
|
+
getFallback?(track: Track): Promise<StreamInfo> {
|
|
12
|
+
throw new Error("getFallback not implemented");
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getRelatedTracks?(trackURL: string, opts?: { limit?: number; offset?: number; history?: Track[] }): Promise<Track[]> {
|
|
16
|
+
return Promise.resolve([]);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
validate?(url: string): boolean {
|
|
20
|
+
return this.canHandle(url);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
extractPlaylist?(url: string, requestedBy: string): Promise<Track[]> {
|
|
24
|
+
return Promise.resolve([]);
|
|
25
|
+
}
|
|
26
|
+
}
|
package/src/plugins/index.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { BasePlugin } from "./BasePlugin";
|
|
2
|
-
|
|
3
|
-
export { BasePlugin } from "./BasePlugin";
|
|
4
|
-
|
|
5
|
-
// Plugin factory
|
|
6
|
-
export class PluginManager {
|
|
7
|
-
private plugins: Map<string, BasePlugin> = new Map();
|
|
8
|
-
|
|
9
|
-
register(plugin: BasePlugin): void {
|
|
10
|
-
this.plugins.set(plugin.name, plugin);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
unregister(name: string): boolean {
|
|
14
|
-
return this.plugins.delete(name);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
get(name: string): BasePlugin | undefined {
|
|
18
|
-
return this.plugins.get(name);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getAll(): BasePlugin[] {
|
|
22
|
-
return Array.from(this.plugins.values());
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
findPlugin(query: string): BasePlugin | undefined {
|
|
26
|
-
return this.getAll().find((plugin) => plugin.canHandle(query));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
clear(): void {
|
|
30
|
-
this.plugins.clear();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
1
|
+
import { BasePlugin } from "./BasePlugin";
|
|
2
|
+
|
|
3
|
+
export { BasePlugin } from "./BasePlugin";
|
|
4
|
+
|
|
5
|
+
// Plugin factory
|
|
6
|
+
export class PluginManager {
|
|
7
|
+
private plugins: Map<string, BasePlugin> = new Map();
|
|
8
|
+
|
|
9
|
+
register(plugin: BasePlugin): void {
|
|
10
|
+
this.plugins.set(plugin.name, plugin);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
unregister(name: string): boolean {
|
|
14
|
+
return this.plugins.delete(name);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get(name: string): BasePlugin | undefined {
|
|
18
|
+
return this.plugins.get(name);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getAll(): BasePlugin[] {
|
|
22
|
+
return Array.from(this.plugins.values());
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
findPlugin(query: string): BasePlugin | undefined {
|
|
26
|
+
return this.getAll().find((plugin) => plugin.canHandle(query));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
clear(): void {
|
|
30
|
+
this.plugins.clear();
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/structures/Player.ts
CHANGED
|
@@ -103,6 +103,11 @@ export class Player extends EventEmitter {
|
|
|
103
103
|
private readonly PLUGIN_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
|
|
104
104
|
private pluginCacheTimestamps = new Map<string, number>();
|
|
105
105
|
|
|
106
|
+
// Cache for search results to avoid duplicate calls
|
|
107
|
+
private searchCache = new Map<string, SearchResult>();
|
|
108
|
+
private readonly SEARCH_CACHE_TTL = 2 * 60 * 1000; // 2 minutes
|
|
109
|
+
private searchCacheTimestamps = new Map<string, number>();
|
|
110
|
+
|
|
106
111
|
/**
|
|
107
112
|
* Attach an extension to the player
|
|
108
113
|
*
|
|
@@ -280,17 +285,25 @@ export class Player extends EventEmitter {
|
|
|
280
285
|
this.debug(`[Player] getStream failed, trying getFallback:`, streamError);
|
|
281
286
|
const allplugs = this.pluginManager.getAll();
|
|
282
287
|
for (const p of allplugs) {
|
|
283
|
-
if (typeof (p as any).getFallback !== "function") {
|
|
288
|
+
if (typeof (p as any).getFallback !== "function" && typeof (p as any).getStream !== "function") {
|
|
284
289
|
continue;
|
|
285
290
|
}
|
|
286
291
|
try {
|
|
292
|
+
streamInfo = await withTimeout(
|
|
293
|
+
(p as any).getStream(track),
|
|
294
|
+
this.options.extractorTimeout ?? 15000,
|
|
295
|
+
`getStream timed out for plugin ${p.name}`,
|
|
296
|
+
);
|
|
297
|
+
if ((streamInfo as any)?.stream) {
|
|
298
|
+
this.debug(`[Player] getStream succeeded with plugin ${p.name} for track: ${track.title}`);
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
287
301
|
streamInfo = await withTimeout(
|
|
288
302
|
(p as any).getFallback(track),
|
|
289
303
|
this.options.extractorTimeout ?? 15000,
|
|
290
304
|
`getFallback timed out for plugin ${p.name}`,
|
|
291
305
|
);
|
|
292
306
|
if (!(streamInfo as any)?.stream) continue;
|
|
293
|
-
this.debug(`[Player] getFallback succeeded with plugin ${p.name} for track: ${track.title}`);
|
|
294
307
|
break;
|
|
295
308
|
} catch (fallbackError) {
|
|
296
309
|
this.debug(`[Player] getFallback failed with plugin ${p.name}:`, fallbackError);
|
|
@@ -559,35 +572,70 @@ export class Player extends EventEmitter {
|
|
|
559
572
|
*/
|
|
560
573
|
async search(query: string, requestedBy: string): Promise<SearchResult> {
|
|
561
574
|
this.debug(`[Player] Search called with query: ${query}, requestedBy: ${requestedBy}`);
|
|
575
|
+
|
|
576
|
+
// Clear expired search cache periodically
|
|
577
|
+
if (Math.random() < 0.1) {
|
|
578
|
+
// 10% chance to clean cache
|
|
579
|
+
this.clearExpiredSearchCache();
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
// Check cache first
|
|
583
|
+
const cachedResult = this.getCachedSearchResult(query);
|
|
584
|
+
if (cachedResult) {
|
|
585
|
+
return cachedResult;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
// Try extensions first
|
|
562
589
|
const extensionResult = await this.extensionsProvideSearch(query, requestedBy);
|
|
563
590
|
if (extensionResult && Array.isArray(extensionResult.tracks) && extensionResult.tracks.length > 0) {
|
|
564
591
|
this.debug(`[Player] Extension handled search for query: ${query}`);
|
|
592
|
+
this.cacheSearchResult(query, extensionResult);
|
|
565
593
|
return extensionResult;
|
|
566
594
|
}
|
|
567
|
-
|
|
595
|
+
|
|
596
|
+
// Get plugins and filter out TTS for regular searches
|
|
597
|
+
const allPlugins = this.pluginManager.getAll();
|
|
598
|
+
const plugins = allPlugins.filter((p) => {
|
|
599
|
+
// Skip TTS plugin for regular searches (unless query starts with "tts:")
|
|
600
|
+
if (p.name.toLowerCase() === "tts" && !query.toLowerCase().startsWith("tts:")) {
|
|
601
|
+
this.debug(`[Player] Skipping TTS plugin for regular search: ${query}`);
|
|
602
|
+
return false;
|
|
603
|
+
}
|
|
604
|
+
return true;
|
|
605
|
+
});
|
|
606
|
+
|
|
607
|
+
this.debug(`[Player] Using ${plugins.length} plugins for search (filtered from ${allPlugins.length})`);
|
|
608
|
+
|
|
568
609
|
let lastError: any = null;
|
|
610
|
+
let searchAttempts = 0;
|
|
569
611
|
|
|
570
612
|
for (const p of plugins) {
|
|
613
|
+
searchAttempts++;
|
|
571
614
|
try {
|
|
572
|
-
this.debug(`[Player] Trying plugin for search: ${p.name}`);
|
|
615
|
+
this.debug(`[Player] Trying plugin for search: ${p.name} (attempt ${searchAttempts}/${plugins.length})`);
|
|
616
|
+
const startTime = Date.now();
|
|
573
617
|
const res = await withTimeout(
|
|
574
618
|
p.search(query, requestedBy),
|
|
575
619
|
this.options.extractorTimeout ?? 15000,
|
|
576
620
|
`Search operation timed out for ${p.name}`,
|
|
577
621
|
);
|
|
622
|
+
const duration = Date.now() - startTime;
|
|
623
|
+
|
|
578
624
|
if (res && Array.isArray(res.tracks) && res.tracks.length > 0) {
|
|
579
|
-
this.debug(`[Player] Plugin '${p.name}' returned ${res.tracks.length} tracks`);
|
|
625
|
+
this.debug(`[Player] Plugin '${p.name}' returned ${res.tracks.length} tracks in ${duration}ms`);
|
|
626
|
+
this.cacheSearchResult(query, res);
|
|
580
627
|
return res;
|
|
581
628
|
}
|
|
582
|
-
this.debug(`[Player] Plugin '${p.name}' returned no tracks`);
|
|
629
|
+
this.debug(`[Player] Plugin '${p.name}' returned no tracks in ${duration}ms`);
|
|
583
630
|
} catch (error) {
|
|
631
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
632
|
+
this.debug(`[Player] Search via plugin '${p.name}' failed: ${errorMessage}`);
|
|
584
633
|
lastError = error;
|
|
585
|
-
this.debug(`[Player] Search via plugin '${p.name}' failed:`, error);
|
|
586
634
|
// Continue to next plugin
|
|
587
635
|
}
|
|
588
636
|
}
|
|
589
637
|
|
|
590
|
-
this.debug(`[Player] No plugins returned results for query: ${query}`);
|
|
638
|
+
this.debug(`[Player] No plugins returned results for query: ${query} (tried ${searchAttempts} plugins)`);
|
|
591
639
|
if (lastError) this.emit("playerError", lastError as Error);
|
|
592
640
|
throw new Error(`No plugin found to handle: ${query}`);
|
|
593
641
|
}
|
|
@@ -777,8 +825,15 @@ export class Player extends EventEmitter {
|
|
|
777
825
|
// Derive timeout from resource/track duration when available, with a sensible cap
|
|
778
826
|
const md: any = (resource as any)?.metadata ?? {};
|
|
779
827
|
const declared =
|
|
780
|
-
typeof md.duration === "number" ? md.duration
|
|
781
|
-
|
|
828
|
+
typeof md.duration === "number" ? md.duration
|
|
829
|
+
: typeof next?.duration === "number" ? next.duration
|
|
830
|
+
: undefined;
|
|
831
|
+
const declaredMs =
|
|
832
|
+
declared ?
|
|
833
|
+
declared > 1000 ?
|
|
834
|
+
declared
|
|
835
|
+
: declared * 1000
|
|
836
|
+
: undefined;
|
|
782
837
|
const cap = this.options?.tts?.Max_Time_TTS ?? 60_000;
|
|
783
838
|
const idleTimeout = declaredMs ? Math.min(cap, Math.max(1_000, declaredMs + 1_500)) : cap;
|
|
784
839
|
await entersState(ttsPlayer, AudioPlayerStatus.Idle, idleTimeout).catch(() => null);
|
|
@@ -885,6 +940,126 @@ export class Player extends EventEmitter {
|
|
|
885
940
|
};
|
|
886
941
|
}
|
|
887
942
|
|
|
943
|
+
/**
|
|
944
|
+
* Get cached search result or null if not found/expired
|
|
945
|
+
* @param query The search query
|
|
946
|
+
* @returns Cached search result or null
|
|
947
|
+
*/
|
|
948
|
+
private getCachedSearchResult(query: string): SearchResult | null {
|
|
949
|
+
const cacheKey = query.toLowerCase().trim();
|
|
950
|
+
const now = Date.now();
|
|
951
|
+
|
|
952
|
+
const cachedTimestamp = this.searchCacheTimestamps.get(cacheKey);
|
|
953
|
+
if (cachedTimestamp && now - cachedTimestamp < this.SEARCH_CACHE_TTL) {
|
|
954
|
+
const cachedResult = this.searchCache.get(cacheKey);
|
|
955
|
+
if (cachedResult) {
|
|
956
|
+
this.debug(`[SearchCache] Using cached search result for: ${query}`);
|
|
957
|
+
return cachedResult;
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
return null;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* Cache search result
|
|
966
|
+
* @param query The search query
|
|
967
|
+
* @param result The search result to cache
|
|
968
|
+
*/
|
|
969
|
+
private cacheSearchResult(query: string, result: SearchResult): void {
|
|
970
|
+
const cacheKey = query.toLowerCase().trim();
|
|
971
|
+
const now = Date.now();
|
|
972
|
+
|
|
973
|
+
this.searchCache.set(cacheKey, result);
|
|
974
|
+
this.searchCacheTimestamps.set(cacheKey, now);
|
|
975
|
+
this.debug(`[SearchCache] Cached search result for: ${query} (${result.tracks.length} tracks)`);
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
/**
|
|
979
|
+
* Clear expired search cache entries
|
|
980
|
+
*/
|
|
981
|
+
private clearExpiredSearchCache(): void {
|
|
982
|
+
const now = Date.now();
|
|
983
|
+
for (const [key, timestamp] of this.searchCacheTimestamps.entries()) {
|
|
984
|
+
if (now - timestamp >= this.SEARCH_CACHE_TTL) {
|
|
985
|
+
this.searchCache.delete(key);
|
|
986
|
+
this.searchCacheTimestamps.delete(key);
|
|
987
|
+
this.debug(`[SearchCache] Cleared expired cache entry: ${key}`);
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
/**
|
|
993
|
+
* Clear all search cache entries
|
|
994
|
+
* @example
|
|
995
|
+
* player.clearSearchCache();
|
|
996
|
+
*/
|
|
997
|
+
public clearSearchCache(): void {
|
|
998
|
+
const cacheSize = this.searchCache.size;
|
|
999
|
+
this.searchCache.clear();
|
|
1000
|
+
this.searchCacheTimestamps.clear();
|
|
1001
|
+
this.debug(`[SearchCache] Cleared all ${cacheSize} search cache entries`);
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* Get search cache statistics
|
|
1006
|
+
* @returns Search cache statistics
|
|
1007
|
+
* @example
|
|
1008
|
+
* const stats = player.getSearchCacheStats();
|
|
1009
|
+
* console.log(`Search cache size: ${stats.size}, Expired: ${stats.expiredEntries}`);
|
|
1010
|
+
*/
|
|
1011
|
+
public getSearchCacheStats(): { size: number; expiredEntries: number; queries: string[] } {
|
|
1012
|
+
const now = Date.now();
|
|
1013
|
+
let expiredEntries = 0;
|
|
1014
|
+
const queries: string[] = [];
|
|
1015
|
+
|
|
1016
|
+
for (const [key, timestamp] of this.searchCacheTimestamps.entries()) {
|
|
1017
|
+
if (now - timestamp >= this.SEARCH_CACHE_TTL) {
|
|
1018
|
+
expiredEntries++;
|
|
1019
|
+
} else {
|
|
1020
|
+
queries.push(key);
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
return {
|
|
1025
|
+
size: this.searchCache.size,
|
|
1026
|
+
expiredEntries,
|
|
1027
|
+
queries,
|
|
1028
|
+
};
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
/**
|
|
1032
|
+
* Debug method to check for duplicate search calls
|
|
1033
|
+
* @param query The search query to check
|
|
1034
|
+
* @returns Debug information about the query
|
|
1035
|
+
*/
|
|
1036
|
+
public debugSearchQuery(query: string): {
|
|
1037
|
+
isCached: boolean;
|
|
1038
|
+
cacheAge?: number;
|
|
1039
|
+
pluginCount: number;
|
|
1040
|
+
ttsFiltered: boolean;
|
|
1041
|
+
} {
|
|
1042
|
+
const cacheKey = query.toLowerCase().trim();
|
|
1043
|
+
const now = Date.now();
|
|
1044
|
+
const cachedTimestamp = this.searchCacheTimestamps.get(cacheKey);
|
|
1045
|
+
const isCached = cachedTimestamp && now - cachedTimestamp < this.SEARCH_CACHE_TTL;
|
|
1046
|
+
|
|
1047
|
+
const allPlugins = this.pluginManager.getAll();
|
|
1048
|
+
const plugins = allPlugins.filter((p) => {
|
|
1049
|
+
if (p.name.toLowerCase() === "tts" && !query.toLowerCase().startsWith("tts:")) {
|
|
1050
|
+
return false;
|
|
1051
|
+
}
|
|
1052
|
+
return true;
|
|
1053
|
+
});
|
|
1054
|
+
|
|
1055
|
+
return {
|
|
1056
|
+
isCached: !!isCached,
|
|
1057
|
+
cacheAge: cachedTimestamp ? now - cachedTimestamp : undefined,
|
|
1058
|
+
pluginCount: plugins.length,
|
|
1059
|
+
ttsFiltered: allPlugins.length > plugins.length,
|
|
1060
|
+
};
|
|
1061
|
+
}
|
|
1062
|
+
|
|
888
1063
|
/** Build AudioResource for a given track using the plugin pipeline */
|
|
889
1064
|
private async resourceFromTrack(track: Track): Promise<AudioResource> {
|
|
890
1065
|
this.debug(`[ResourceFromTrack] Starting resource creation for track: ${track.title} (${track.source})`);
|
package/tsconfig.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2020",
|
|
4
|
-
"module": "commonjs",
|
|
5
|
-
"lib": ["ES2020"],
|
|
6
|
-
"outDir": "./dist",
|
|
7
|
-
"rootDir": "./src",
|
|
8
|
-
"strict": true,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"skipLibCheck": true,
|
|
11
|
-
"forceConsistentCasingInFileNames": true,
|
|
12
|
-
"declaration": true,
|
|
13
|
-
"declarationMap": true,
|
|
14
|
-
"sourceMap": true,
|
|
15
|
-
"moduleResolution": "node",
|
|
16
|
-
"allowSyntheticDefaultImports": true,
|
|
17
|
-
"experimentalDecorators": true,
|
|
18
|
-
"emitDecoratorMetadata": true,
|
|
19
|
-
"resolveJsonModule": true
|
|
20
|
-
},
|
|
21
|
-
"include": ["src/**/*"],
|
|
22
|
-
"exclude": ["node_modules", "dist", "examples"]
|
|
23
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"lib": ["ES2020"],
|
|
6
|
+
"outDir": "./dist",
|
|
7
|
+
"rootDir": "./src",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"declaration": true,
|
|
13
|
+
"declarationMap": true,
|
|
14
|
+
"sourceMap": true,
|
|
15
|
+
"moduleResolution": "node",
|
|
16
|
+
"allowSyntheticDefaultImports": true,
|
|
17
|
+
"experimentalDecorators": true,
|
|
18
|
+
"emitDecoratorMetadata": true,
|
|
19
|
+
"resolveJsonModule": true
|
|
20
|
+
},
|
|
21
|
+
"include": ["src/**/*"],
|
|
22
|
+
"exclude": ["node_modules", "dist", "examples"]
|
|
23
|
+
}
|