yukimu 1.2.0 → 1.3.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/.cache/replit/env/latest +72 -72
- package/.cache/replit/env/latest.json +1 -1
- package/.cache/replit/toolchain.json +1 -1
- package/dist/ConnectionPool.d.ts +1 -0
- package/dist/ConnectionPool.d.ts.map +1 -1
- package/dist/ConnectionPool.js +11 -24
- package/dist/ConnectionPool.js.map +1 -1
- package/dist/Constants.d.ts +3 -49
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +6 -61
- package/dist/Constants.js.map +1 -1
- package/dist/Node.d.ts +1 -1
- package/dist/Node.d.ts.map +1 -1
- package/dist/Node.js +17 -17
- package/dist/Node.js.map +1 -1
- package/dist/Player.d.ts +9 -5
- package/dist/Player.d.ts.map +1 -1
- package/dist/Player.js +73 -54
- package/dist/Player.js.map +1 -1
- package/dist/Plugin.d.ts +0 -14
- package/dist/Plugin.d.ts.map +1 -1
- package/dist/Plugin.js +0 -12
- package/dist/Plugin.js.map +1 -1
- package/dist/Queue.d.ts +0 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +7 -22
- package/dist/Queue.js.map +1 -1
- package/dist/Resolver.d.ts +1 -1
- package/dist/Resolver.d.ts.map +1 -1
- package/dist/Resolver.js +24 -10
- package/dist/Resolver.js.map +1 -1
- package/dist/Rest.d.ts +3 -4
- package/dist/Rest.d.ts.map +1 -1
- package/dist/Rest.js +26 -16
- package/dist/Rest.js.map +1 -1
- package/dist/TrackCache.d.ts +0 -5
- package/dist/TrackCache.d.ts.map +1 -1
- package/dist/TrackCache.js +6 -23
- package/dist/TrackCache.js.map +1 -1
- package/dist/WsQueue.d.ts +2 -11
- package/dist/WsQueue.d.ts.map +1 -1
- package/dist/WsQueue.js +5 -21
- package/dist/WsQueue.js.map +1 -1
- package/dist/Yukimu.d.ts +3 -12
- package/dist/Yukimu.d.ts.map +1 -1
- package/dist/Yukimu.js +2 -8
- package/dist/Yukimu.js.map +1 -1
- package/dist/connector/DiscordJS.d.ts +1 -18
- package/dist/connector/DiscordJS.d.ts.map +1 -1
- package/dist/connector/DiscordJS.js.map +1 -1
- package/dist/connector/Eris.d.ts +1 -16
- package/dist/connector/Eris.d.ts.map +1 -1
- package/dist/connector/Eris.js +2 -4
- package/dist/connector/Eris.js.map +1 -1
- package/dist/connector/Oceanic.d.ts +1 -13
- package/dist/connector/Oceanic.d.ts.map +1 -1
- package/dist/connector/Oceanic.js +2 -4
- package/dist/connector/Oceanic.js.map +1 -1
- package/dist/errors/YukimuError.d.ts.map +1 -1
- package/dist/errors/YukimuError.js +0 -1
- package/dist/errors/YukimuError.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/plugins/AutoResume.d.ts +0 -13
- package/dist/plugins/AutoResume.d.ts.map +1 -1
- package/dist/plugins/AutoResume.js +10 -18
- package/dist/plugins/AutoResume.js.map +1 -1
- package/dist/plugins/PlayerMoved.js.map +1 -1
- package/dist/types.d.ts +25 -34
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/ConnectionPool.ts +14 -31
- package/src/Constants.ts +6 -62
- package/src/Node.ts +44 -51
- package/src/Player.ts +86 -91
- package/src/Plugin.ts +0 -16
- package/src/Queue.ts +7 -32
- package/src/Resolver.ts +25 -14
- package/src/Rest.ts +34 -28
- package/src/TrackCache.ts +7 -30
- package/src/WsQueue.ts +9 -29
- package/src/Yukimu.ts +10 -45
- package/src/connector/DiscordJS.ts +5 -12
- package/src/connector/Eris.ts +6 -17
- package/src/connector/Oceanic.ts +5 -15
- package/src/errors/YukimuError.ts +0 -2
- package/src/index.ts +4 -26
- package/src/plugins/AutoResume.ts +13 -37
- package/src/plugins/PlayerMoved.ts +4 -4
- package/src/types.ts +26 -26
- package/tsconfig.json +3 -1
package/dist/Queue.js
CHANGED
|
@@ -7,21 +7,18 @@ class Queue {
|
|
|
7
7
|
this.previous = [];
|
|
8
8
|
this.tracks = [];
|
|
9
9
|
}
|
|
10
|
-
// ─── Add / Remove ─────────────────────────────────────────────────
|
|
11
10
|
add(tracks, position) {
|
|
12
11
|
const arr = Array.isArray(tracks) ? tracks : [tracks];
|
|
13
|
-
if (position !== undefined)
|
|
12
|
+
if (position !== undefined)
|
|
14
13
|
this.tracks.splice(position, 0, ...arr);
|
|
15
|
-
|
|
16
|
-
else {
|
|
14
|
+
else
|
|
17
15
|
this.tracks.push(...arr);
|
|
18
|
-
}
|
|
19
16
|
}
|
|
20
17
|
next() {
|
|
21
18
|
if (this.current) {
|
|
22
19
|
this.previous.unshift(this.current);
|
|
23
20
|
if (this.previous.length > 10)
|
|
24
|
-
this.previous.pop();
|
|
21
|
+
this.previous.pop();
|
|
25
22
|
}
|
|
26
23
|
this.current = this.tracks.shift() ?? null;
|
|
27
24
|
return this.current;
|
|
@@ -40,7 +37,6 @@ class Queue {
|
|
|
40
37
|
this.current = null;
|
|
41
38
|
this.previous = [];
|
|
42
39
|
}
|
|
43
|
-
// ─── Reorder ──────────────────────────────────────────────────────
|
|
44
40
|
shuffle() {
|
|
45
41
|
for (let i = this.tracks.length - 1; i > 0; i--) {
|
|
46
42
|
const j = Math.floor(Math.random() * (i + 1));
|
|
@@ -53,29 +49,18 @@ class Queue {
|
|
|
53
49
|
const [track] = this.tracks.splice(from, 1);
|
|
54
50
|
this.tracks.splice(to, 0, track);
|
|
55
51
|
}
|
|
56
|
-
/** Skip to a specific position in queue */
|
|
57
52
|
skipto(index) {
|
|
58
53
|
if (index < 0 || index >= this.tracks.length)
|
|
59
54
|
return null;
|
|
60
55
|
this.tracks.splice(0, index);
|
|
61
56
|
return this.next();
|
|
62
57
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
find(predicate) {
|
|
68
|
-
return this.tracks.find(predicate);
|
|
69
|
-
}
|
|
70
|
-
filter(predicate) {
|
|
71
|
-
return this.tracks.filter(predicate);
|
|
72
|
-
}
|
|
73
|
-
// ─── Getters ──────────────────────────────────────────────────────
|
|
58
|
+
peek(count = 10) { return this.tracks.slice(0, count); }
|
|
59
|
+
find(predicate) { return this.tracks.find(predicate); }
|
|
60
|
+
filter(predicate) { return this.tracks.filter(predicate); }
|
|
74
61
|
get size() { return this.tracks.length; }
|
|
75
62
|
get isEmpty() { return this.tracks.length === 0; }
|
|
76
|
-
get totalDuration() {
|
|
77
|
-
return this.tracks.reduce((acc, t) => acc + (t.info?.length ?? 0), 0);
|
|
78
|
-
}
|
|
63
|
+
get totalDuration() { return this.tracks.reduce((acc, t) => acc + (t.info?.length ?? 0), 0); }
|
|
79
64
|
get list() { return this.tracks; }
|
|
80
65
|
}
|
|
81
66
|
exports.Queue = Queue;
|
package/dist/Queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../src/Queue.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IAAlB;QACS,YAAO,GAAiB,IAAI,CAAC;QAC7B,aAAQ,GAAY,EAAE,CAAC;QACtB,WAAM,GAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Queue.js","sourceRoot":"","sources":["../src/Queue.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IAAlB;QACS,YAAO,GAAiB,IAAI,CAAC;QAC7B,aAAQ,GAAY,EAAE,CAAC;QACtB,WAAM,GAAY,EAAE,CAAC;IA4D/B,CAAC;IA1DQ,GAAG,CAAC,MAAuB,EAAE,QAAiB;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;;YAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,WAAW,CAAC,KAAa,EAAE,GAAW;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,OAAO;QACZ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,IAAY,EAAE,EAAU;QAClC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO;QACzF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEM,IAAI,CAAC,QAAgB,EAAE,IAAa,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,SAAoC,IAAuB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,CAAC,SAAoC,IAAa,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEtG,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,aAAa,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,IAAI,IAAI,KAA2B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AA/DD,sBA+DC"}
|
package/dist/Resolver.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare class Resolver {
|
|
|
5
5
|
private spotifyToken;
|
|
6
6
|
private spotifyExpiry;
|
|
7
7
|
constructor(manager: Yukimu);
|
|
8
|
-
resolve(query: string, source: SearchSource, requester?:
|
|
8
|
+
resolve(query: string, source: SearchSource, requester?: any): Promise<SearchResult>;
|
|
9
9
|
detectSource(url: string): SearchSource | null;
|
|
10
10
|
private getSpotifyToken;
|
|
11
11
|
private resolveSpotifyMeta;
|
package/dist/Resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAS,MAAM,SAAS,CAAC;AAEjE,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAa;gBAEtB,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAS,MAAM,SAAS,CAAC;AAEjE,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAa;gBAEtB,OAAO,EAAE,MAAM;IAEd,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAwC1F,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;YAOvC,eAAe;YAoBf,kBAAkB;CAWjC"}
|
package/dist/Resolver.js
CHANGED
|
@@ -12,10 +12,22 @@ class Resolver {
|
|
|
12
12
|
const node = this.manager.getBestNode();
|
|
13
13
|
const isUrl = /^https?:\/\//.test(query);
|
|
14
14
|
const identifier = isUrl ? query : `${Constants_1.SOURCE_PREFIXES[source] ?? "ytsearch"}:${query}`;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
let result;
|
|
16
|
+
try {
|
|
17
|
+
result = await node.loadTracks(identifier);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
console.error("[Resolver] loadTracks error:", err.message);
|
|
21
|
+
return { loadType: "error", tracks: [] };
|
|
22
|
+
}
|
|
23
|
+
if (!result)
|
|
24
|
+
return { loadType: "empty", tracks: [] };
|
|
25
|
+
if (!result.tracks)
|
|
26
|
+
result.tracks = [];
|
|
27
|
+
// Attach requester to all tracks
|
|
28
|
+
if (requester && result.tracks.length > 0) {
|
|
29
|
+
result.tracks.forEach((t) => { t.requester = requester; });
|
|
30
|
+
}
|
|
19
31
|
// Spotify fallback — if LavaSrc not installed
|
|
20
32
|
if ((result.loadType === "error" || result.loadType === "empty") && isUrl) {
|
|
21
33
|
const spotifyMatch = query.match(/spotify\.com\/track\/([a-zA-Z0-9]+)/);
|
|
@@ -25,10 +37,12 @@ class Resolver {
|
|
|
25
37
|
return this.resolve(`${meta.title} ${meta.artist}`, "youtube", requester);
|
|
26
38
|
}
|
|
27
39
|
}
|
|
28
|
-
// Cache
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
// Cache tracks
|
|
41
|
+
if (result.tracks.length > 0) {
|
|
42
|
+
for (const track of result.tracks) {
|
|
43
|
+
if (track?.encoded)
|
|
44
|
+
this.manager.trackCache.set(track.encoded, track);
|
|
45
|
+
}
|
|
32
46
|
}
|
|
33
47
|
return result;
|
|
34
48
|
}
|
|
@@ -46,7 +60,7 @@ class Resolver {
|
|
|
46
60
|
if (this.spotifyToken && Date.now() < this.spotifyExpiry)
|
|
47
61
|
return this.spotifyToken;
|
|
48
62
|
try {
|
|
49
|
-
const res = await fetch("https://accounts.spotify.com/api/token", {
|
|
63
|
+
const res = await globalThis.fetch("https://accounts.spotify.com/api/token", {
|
|
50
64
|
method: "POST",
|
|
51
65
|
headers: {
|
|
52
66
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
@@ -68,7 +82,7 @@ class Resolver {
|
|
|
68
82
|
if (!token)
|
|
69
83
|
return null;
|
|
70
84
|
try {
|
|
71
|
-
const res = await fetch(`https://api.spotify.com/v1/tracks/${trackId}`, {
|
|
85
|
+
const res = await globalThis.fetch(`https://api.spotify.com/v1/tracks/${trackId}`, {
|
|
72
86
|
headers: { Authorization: `Bearer ${token}` },
|
|
73
87
|
});
|
|
74
88
|
const data = await res.json();
|
package/dist/Resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":";;;AAAA,2CAA4D;AAI5D,MAAa,QAAQ;IAKnB,YAAY,OAAe;QAHnB,iBAAY,GAAkB,IAAI,CAAC;QACnC,kBAAa,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../src/Resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/Rest.d.ts
CHANGED
|
@@ -6,19 +6,18 @@ export declare class Rest {
|
|
|
6
6
|
get baseUrl(): string;
|
|
7
7
|
get prefix(): string;
|
|
8
8
|
get headers(): Record<string, string>;
|
|
9
|
-
request<T =
|
|
9
|
+
request<T = any>(method: string, path: string, body?: any): Promise<T>;
|
|
10
10
|
loadTracks(identifier: string): Promise<SearchResult>;
|
|
11
11
|
decodeTrack(encoded: string): Promise<Track>;
|
|
12
12
|
decodeTracks(encoded: string[]): Promise<Track[]>;
|
|
13
13
|
getInfo(): Promise<NodeInfo>;
|
|
14
14
|
getStats(): Promise<NodeStats>;
|
|
15
|
-
|
|
16
|
-
updatePlayer(guildId: string, body: unknown, noReplace?: boolean): Promise<unknown>;
|
|
15
|
+
updatePlayer(guildId: string, body: any, noReplace?: boolean): Promise<any>;
|
|
17
16
|
destroyPlayer(guildId: string): Promise<void>;
|
|
18
17
|
updateSession(body: {
|
|
19
18
|
resuming?: boolean;
|
|
20
19
|
timeout?: number;
|
|
21
|
-
}): Promise<
|
|
20
|
+
}): Promise<any>;
|
|
22
21
|
private normalizeV3;
|
|
23
22
|
}
|
|
24
23
|
//# sourceMappingURL=Rest.d.ts.map
|
package/dist/Rest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rest.d.ts","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxE,qBAAa,IAAI;IACf,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"Rest.d.ts","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxE,qBAAa,IAAI;IACf,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,IAAI;IAEtB,IAAI,OAAO,IAAI,MAAM,CAGpB;IAED,IAAI,MAAM,IAAI,MAAM,CAAiD;IAErE,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpC;IAEY,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAuCtE,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMrD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIjD,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAI5B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;IAI9B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAOzE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,aAAa,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAKxF,OAAO,CAAC,WAAW;CAkBpB"}
|
package/dist/Rest.js
CHANGED
|
@@ -2,23 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Rest = void 0;
|
|
4
4
|
const YukimuError_1 = require("./errors/YukimuError");
|
|
5
|
-
const TIMEOUT_MS =
|
|
5
|
+
const TIMEOUT_MS = 30000;
|
|
6
6
|
class Rest {
|
|
7
|
-
constructor(node) {
|
|
8
|
-
this.node = node;
|
|
9
|
-
}
|
|
7
|
+
constructor(node) { this.node = node; }
|
|
10
8
|
get baseUrl() {
|
|
11
9
|
const protocol = this.node.options.secure ? "https" : "http";
|
|
12
10
|
return `${protocol}://${this.node.options.host}:${this.node.options.port}`;
|
|
13
11
|
}
|
|
14
|
-
get prefix() {
|
|
15
|
-
return this.node.version === 4 ? "/v4" : "";
|
|
16
|
-
}
|
|
12
|
+
get prefix() { return this.node.version === 4 ? "/v4" : ""; }
|
|
17
13
|
get headers() {
|
|
18
14
|
return {
|
|
19
15
|
Authorization: this.node.options.password,
|
|
20
16
|
"User-Id": this.node.manager.options.clientId,
|
|
21
|
-
"Client-Name": "Yukimu/1.
|
|
17
|
+
"Client-Name": "Yukimu/1.3.0",
|
|
22
18
|
"Content-Type": "application/json",
|
|
23
19
|
...(this.node.version === 3 ? { "Num-Shards": "1" } : {}),
|
|
24
20
|
};
|
|
@@ -41,7 +37,19 @@ class Rest {
|
|
|
41
37
|
}
|
|
42
38
|
if (res.status === 204)
|
|
43
39
|
return undefined;
|
|
44
|
-
|
|
40
|
+
const text = await res.text();
|
|
41
|
+
let parsed;
|
|
42
|
+
try {
|
|
43
|
+
parsed = JSON.parse(text);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
// Normalize Lavalink v4.2+ response — uses "data" instead of "tracks"
|
|
49
|
+
if (parsed && parsed.data !== undefined && !parsed.tracks) {
|
|
50
|
+
parsed.tracks = Array.isArray(parsed.data) ? parsed.data : [parsed.data];
|
|
51
|
+
}
|
|
52
|
+
return parsed;
|
|
45
53
|
}
|
|
46
54
|
catch (err) {
|
|
47
55
|
clearTimeout(timeout);
|
|
@@ -52,6 +60,8 @@ class Rest {
|
|
|
52
60
|
}
|
|
53
61
|
async loadTracks(identifier) {
|
|
54
62
|
const raw = await this.request("GET", `/loadtracks?identifier=${encodeURIComponent(identifier)}`);
|
|
63
|
+
if (!raw)
|
|
64
|
+
return { loadType: "empty", tracks: [] };
|
|
55
65
|
return this.node.version === 3 ? this.normalizeV3(raw) : raw;
|
|
56
66
|
}
|
|
57
67
|
async decodeTrack(encoded) {
|
|
@@ -66,10 +76,6 @@ class Rest {
|
|
|
66
76
|
async getStats() {
|
|
67
77
|
return this.request("GET", "/stats");
|
|
68
78
|
}
|
|
69
|
-
async getVersion() {
|
|
70
|
-
const res = await globalThis.fetch(`${this.baseUrl}/version`, { headers: this.headers });
|
|
71
|
-
return res.text();
|
|
72
|
-
}
|
|
73
79
|
async updatePlayer(guildId, body, noReplace = false) {
|
|
74
80
|
const path = this.node.version === 4
|
|
75
81
|
? `/sessions/${this.node.sessionId}/players/${guildId}?noReplace=${noReplace}`
|
|
@@ -80,7 +86,7 @@ class Rest {
|
|
|
80
86
|
const path = this.node.version === 4
|
|
81
87
|
? `/sessions/${this.node.sessionId}/players/${guildId}`
|
|
82
88
|
: `/players/${guildId}`;
|
|
83
|
-
await this.request("DELETE", path);
|
|
89
|
+
await this.request("DELETE", path).catch(() => { });
|
|
84
90
|
}
|
|
85
91
|
async updateSession(body) {
|
|
86
92
|
if (this.node.version !== 4)
|
|
@@ -88,8 +94,12 @@ class Rest {
|
|
|
88
94
|
return this.request("PATCH", `/sessions/${this.node.sessionId}`, body);
|
|
89
95
|
}
|
|
90
96
|
normalizeV3(raw) {
|
|
91
|
-
const loadType = (raw
|
|
92
|
-
const norm = (tracks) => (tracks ?? []).map((t) => ({
|
|
97
|
+
const loadType = (raw?.loadType ?? "").toLowerCase();
|
|
98
|
+
const norm = (tracks) => (tracks ?? []).map((t) => ({
|
|
99
|
+
encoded: t.track ?? t.encoded,
|
|
100
|
+
info: t.info,
|
|
101
|
+
pluginInfo: t.pluginInfo ?? {},
|
|
102
|
+
}));
|
|
93
103
|
switch (loadType) {
|
|
94
104
|
case "track_loaded": return { loadType: "track", tracks: norm(raw.tracks) };
|
|
95
105
|
case "playlist_loaded": return { loadType: "playlist", tracks: norm(raw.tracks), playlistInfo: raw.playlistInfo };
|
package/dist/Rest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rest.js","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAIjD,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB,MAAa,IAAI;IAGf,YAAY,IAAU
|
|
1
|
+
{"version":3,"file":"Rest.js","sourceRoot":"","sources":["../src/Rest.ts"],"names":[],"mappings":"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"}
|
package/dist/TrackCache.d.ts
CHANGED
package/dist/TrackCache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackCache.d.ts","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOrC
|
|
1
|
+
{"version":3,"file":"TrackCache.d.ts","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAOrC,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAiC;gBAE1C,KAAK,GAAE,MAAgB;IAK5B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAIxC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAOlC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAC7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAC7B,KAAK,IAAI,IAAI;IAEpB,OAAO,CAAC,KAAK;IAON,OAAO,IAAI,IAAI;IAKtB,IAAI,IAAI,IAAI,MAAM,CAA4B;CAC/C"}
|
package/dist/TrackCache.js
CHANGED
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TrackCache = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Track Decode Cache
|
|
6
|
-
* Caches decoded tracks to avoid repeated Lavalink decode calls.
|
|
7
|
-
* TTL-based expiry — default 1 hour.
|
|
8
|
-
*/
|
|
9
4
|
class TrackCache {
|
|
10
|
-
constructor(ttlMs = 3600000
|
|
5
|
+
constructor(ttlMs = 3600000) {
|
|
11
6
|
this.cache = new Map();
|
|
12
7
|
this.ttl = ttlMs;
|
|
13
|
-
// Sweep expired entries every 10 minutes
|
|
14
8
|
this.sweepInterval = setInterval(() => this.sweep(), 600000);
|
|
15
9
|
}
|
|
16
10
|
set(encoded, track) {
|
|
17
|
-
this.cache.set(encoded, {
|
|
18
|
-
track,
|
|
19
|
-
expiresAt: Date.now() + this.ttl,
|
|
20
|
-
});
|
|
11
|
+
this.cache.set(encoded, { track, expiresAt: Date.now() + this.ttl });
|
|
21
12
|
}
|
|
22
13
|
get(encoded) {
|
|
23
14
|
const entry = this.cache.get(encoded);
|
|
@@ -29,15 +20,9 @@ class TrackCache {
|
|
|
29
20
|
}
|
|
30
21
|
return entry.track;
|
|
31
22
|
}
|
|
32
|
-
has(encoded) {
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
delete(encoded) {
|
|
36
|
-
this.cache.delete(encoded);
|
|
37
|
-
}
|
|
38
|
-
clear() {
|
|
39
|
-
this.cache.clear();
|
|
40
|
-
}
|
|
23
|
+
has(encoded) { return this.get(encoded) !== null; }
|
|
24
|
+
delete(encoded) { this.cache.delete(encoded); }
|
|
25
|
+
clear() { this.cache.clear(); }
|
|
41
26
|
sweep() {
|
|
42
27
|
const now = Date.now();
|
|
43
28
|
for (const [key, entry] of this.cache) {
|
|
@@ -49,9 +34,7 @@ class TrackCache {
|
|
|
49
34
|
clearInterval(this.sweepInterval);
|
|
50
35
|
this.cache.clear();
|
|
51
36
|
}
|
|
52
|
-
get size() {
|
|
53
|
-
return this.cache.size;
|
|
54
|
-
}
|
|
37
|
+
get size() { return this.cache.size; }
|
|
55
38
|
}
|
|
56
39
|
exports.TrackCache = TrackCache;
|
|
57
40
|
//# sourceMappingURL=TrackCache.js.map
|
package/dist/TrackCache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackCache.js","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":";;;AAOA
|
|
1
|
+
{"version":3,"file":"TrackCache.js","sourceRoot":"","sources":["../src/TrackCache.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAKrB,YAAY,QAAgB,OAAO;QAJ3B,UAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;QAKjD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAEM,GAAG,CAAC,OAAe,EAAE,KAAY;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IAEM,GAAG,CAAC,OAAe;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAC9E,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,OAAe,IAAa,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,OAAe,IAAU,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,KAAK,KAAW,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEpC,KAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;CAC/C;AAtCD,gCAsCC"}
|
package/dist/WsQueue.d.ts
CHANGED
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
/**
|
|
3
|
-
* WebSocket Message Queue
|
|
4
|
-
* Queues outgoing WS messages and flushes them on reconnect.
|
|
5
|
-
* Prevents message loss when node briefly disconnects.
|
|
6
|
-
*/
|
|
1
|
+
import WebSocket from "ws";
|
|
7
2
|
export declare class WsQueue {
|
|
8
3
|
private queue;
|
|
9
|
-
private flushing;
|
|
10
4
|
private ws;
|
|
11
5
|
setSocket(ws: WebSocket | null): void;
|
|
12
|
-
|
|
13
|
-
send(data: Record<string, unknown>): Promise<void>;
|
|
14
|
-
/** Flush all queued messages after reconnect */
|
|
6
|
+
send(data: Record<string, any>): Promise<void>;
|
|
15
7
|
flush(): void;
|
|
16
|
-
/** Drop all queued messages (on intentional destroy) */
|
|
17
8
|
clear(): void;
|
|
18
9
|
get size(): number;
|
|
19
10
|
}
|
package/dist/WsQueue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WsQueue.d.ts","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WsQueue.d.ts","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAQ3B,qBAAa,OAAO;IAClB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,EAAE,CAA0B;IAE7B,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAOrC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C,KAAK,IAAI,IAAI;IAgBb,KAAK,IAAI,IAAI;IAOpB,IAAI,IAAI,IAAI,MAAM,CAA8B;CACjD"}
|
package/dist/WsQueue.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WsQueue = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* WebSocket Message Queue
|
|
6
|
-
* Queues outgoing WS messages and flushes them on reconnect.
|
|
7
|
-
* Prevents message loss when node briefly disconnects.
|
|
8
|
-
*/
|
|
9
4
|
class WsQueue {
|
|
10
5
|
constructor() {
|
|
11
6
|
this.queue = [];
|
|
12
|
-
this.flushing = false;
|
|
13
7
|
this.ws = null;
|
|
14
8
|
}
|
|
15
9
|
setSocket(ws) {
|
|
@@ -18,11 +12,10 @@ class WsQueue {
|
|
|
18
12
|
ws.on("open", () => this.flush());
|
|
19
13
|
}
|
|
20
14
|
}
|
|
21
|
-
/** Send immediately if connected, else queue */
|
|
22
15
|
send(data) {
|
|
23
16
|
return new Promise((resolve, reject) => {
|
|
24
17
|
const serialized = JSON.stringify(data);
|
|
25
|
-
if (this.ws?.readyState === 1
|
|
18
|
+
if (this.ws?.readyState === 1) {
|
|
26
19
|
this.ws.send(serialized, (err) => {
|
|
27
20
|
if (err)
|
|
28
21
|
reject(err);
|
|
@@ -31,23 +24,18 @@ class WsQueue {
|
|
|
31
24
|
});
|
|
32
25
|
}
|
|
33
26
|
else {
|
|
34
|
-
// Queue for later when reconnected
|
|
35
27
|
this.queue.push({ data: serialized, resolve, reject });
|
|
36
28
|
}
|
|
37
29
|
});
|
|
38
30
|
}
|
|
39
|
-
/** Flush all queued messages after reconnect */
|
|
40
31
|
flush() {
|
|
41
|
-
if (
|
|
32
|
+
if (!this.ws)
|
|
42
33
|
return;
|
|
43
|
-
this.flushing = true;
|
|
44
34
|
const toSend = [...this.queue];
|
|
45
35
|
this.queue = [];
|
|
46
36
|
for (const msg of toSend) {
|
|
47
|
-
if (this.ws.readyState !== 1
|
|
48
|
-
// Re-queue if disconnected again
|
|
37
|
+
if (this.ws.readyState !== 1) {
|
|
49
38
|
this.queue.unshift(msg);
|
|
50
|
-
this.flushing = false;
|
|
51
39
|
return;
|
|
52
40
|
}
|
|
53
41
|
this.ws.send(msg.data, (err) => {
|
|
@@ -57,18 +45,14 @@ class WsQueue {
|
|
|
57
45
|
msg.resolve();
|
|
58
46
|
});
|
|
59
47
|
}
|
|
60
|
-
this.flushing = false;
|
|
61
48
|
}
|
|
62
|
-
/** Drop all queued messages (on intentional destroy) */
|
|
63
49
|
clear() {
|
|
64
50
|
for (const msg of this.queue) {
|
|
65
|
-
msg.reject(new Error("WsQueue cleared
|
|
51
|
+
msg.reject(new Error("WsQueue cleared"));
|
|
66
52
|
}
|
|
67
53
|
this.queue = [];
|
|
68
54
|
}
|
|
69
|
-
get size() {
|
|
70
|
-
return this.queue.length;
|
|
71
|
-
}
|
|
55
|
+
get size() { return this.queue.length; }
|
|
72
56
|
}
|
|
73
57
|
exports.WsQueue = WsQueue;
|
|
74
58
|
//# sourceMappingURL=WsQueue.js.map
|
package/dist/WsQueue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WsQueue.js","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":";;;AAQA
|
|
1
|
+
{"version":3,"file":"WsQueue.js","sourceRoot":"","sources":["../src/WsQueue.ts"],"names":[],"mappings":";;;AAQA,MAAa,OAAO;IAApB;QACU,UAAK,GAAoB,EAAE,CAAC;QAC5B,OAAE,GAAqB,IAAI,CAAC;IA+CtC,CAAC;IA7CQ,SAAS,CAAC,EAAoB;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,IAAyB;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACpC,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;wBAChB,OAAO,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACrB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;gBAClC,IAAI,GAAG;oBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;oBACpB,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK;QACV,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CACjD;AAjDD,0BAiDC"}
|
package/dist/Yukimu.d.ts
CHANGED
|
@@ -30,19 +30,10 @@ export declare class Yukimu extends EventEmitter {
|
|
|
30
30
|
destroyPlayer(guildId: string): Promise<void>;
|
|
31
31
|
search(query: string, options?: {
|
|
32
32
|
source?: SearchSource;
|
|
33
|
-
requester?:
|
|
33
|
+
requester?: any;
|
|
34
34
|
}): Promise<SearchResult>;
|
|
35
|
-
handleVoiceStateUpdate(data:
|
|
36
|
-
|
|
37
|
-
user_id: string;
|
|
38
|
-
session_id: string;
|
|
39
|
-
channel_id?: string | null;
|
|
40
|
-
}): void;
|
|
41
|
-
handleVoiceServerUpdate(data: {
|
|
42
|
-
guild_id: string;
|
|
43
|
-
token: string;
|
|
44
|
-
endpoint?: string | null;
|
|
45
|
-
}): void;
|
|
35
|
+
handleVoiceStateUpdate(data: any): void;
|
|
36
|
+
handleVoiceServerUpdate(data: any): void;
|
|
46
37
|
detectSource(url: string): SearchSource | null;
|
|
47
38
|
getStats(): {
|
|
48
39
|
nodes: number;
|
package/dist/Yukimu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Yukimu.d.ts","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Yukimu.d.ts","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"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"}
|
package/dist/Yukimu.js
CHANGED
|
@@ -15,11 +15,7 @@ class Yukimu extends events_1.EventEmitter {
|
|
|
15
15
|
this.nodes = new Map();
|
|
16
16
|
this.players = new Map();
|
|
17
17
|
this.plugins = new Map();
|
|
18
|
-
this.options = {
|
|
19
|
-
moveOnDisconnect: true,
|
|
20
|
-
voiceConnectionTimeout: 15000,
|
|
21
|
-
...options,
|
|
22
|
-
};
|
|
18
|
+
this.options = { moveOnDisconnect: true, voiceConnectionTimeout: 15000, ...options };
|
|
23
19
|
this.connector = connector.set(this);
|
|
24
20
|
this.resolver = new Resolver_1.Resolver(this);
|
|
25
21
|
this.pool = new ConnectionPool_1.ConnectionPool(this);
|
|
@@ -36,7 +32,7 @@ class Yukimu extends events_1.EventEmitter {
|
|
|
36
32
|
throw new YukimuError_1.YukimuError(`Plugin "${plugin.name}" already loaded`);
|
|
37
33
|
plugin.load(this);
|
|
38
34
|
this.plugins.set(plugin.name, plugin);
|
|
39
|
-
console.log(`[Yukimu]
|
|
35
|
+
console.log(`[Yukimu] Plugin "${plugin.name}" loaded`);
|
|
40
36
|
return this;
|
|
41
37
|
}
|
|
42
38
|
unuse(name) {
|
|
@@ -180,8 +176,6 @@ class Yukimu extends events_1.EventEmitter {
|
|
|
180
176
|
destroy() {
|
|
181
177
|
for (const node of this.nodes.values())
|
|
182
178
|
node.destroy();
|
|
183
|
-
for (const guildId of this.players.keys())
|
|
184
|
-
this.destroyPlayer(guildId).catch(() => { });
|
|
185
179
|
this.trackCache.destroy();
|
|
186
180
|
this.nodes.clear();
|
|
187
181
|
}
|