@stella_project/stellalib 1.1.3 → 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/README.md +239 -1
- package/dist/Structures/Filters.d.ts.map +1 -1
- package/dist/Structures/Filters.js +15 -14
- package/dist/Structures/Filters.js.map +1 -1
- package/dist/Structures/Manager.d.ts +44 -1
- package/dist/Structures/Manager.d.ts.map +1 -1
- package/dist/Structures/Manager.js +184 -1
- package/dist/Structures/Manager.js.map +1 -1
- package/dist/Structures/Node.d.ts +2 -0
- package/dist/Structures/Node.d.ts.map +1 -1
- package/dist/Structures/Node.js +57 -5
- package/dist/Structures/Node.js.map +1 -1
- package/dist/Structures/Player.d.ts +101 -6
- package/dist/Structures/Player.d.ts.map +1 -1
- package/dist/Structures/Player.js +240 -10
- package/dist/Structures/Player.js.map +1 -1
- package/dist/Structures/Queue.d.ts +22 -0
- package/dist/Structures/Queue.d.ts.map +1 -1
- package/dist/Structures/Queue.js +87 -0
- package/dist/Structures/Queue.js.map +1 -1
- package/dist/Structures/Rest.d.ts +48 -1
- package/dist/Structures/Rest.d.ts.map +1 -1
- package/dist/Structures/Rest.js +171 -0
- package/dist/Structures/Rest.js.map +1 -1
- package/dist/Structures/Types.d.ts +117 -1
- package/dist/Structures/Types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -38,6 +38,8 @@ class StellaManager extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
38
38
|
pruneInterval;
|
|
39
39
|
/** Reference to node health check interval for cleanup. */
|
|
40
40
|
healthCheckInterval;
|
|
41
|
+
/** Reference to zombie detection interval for cleanup. */
|
|
42
|
+
zombieCheckInterval;
|
|
41
43
|
/** Returns the nodes sorted by least CPU load. */
|
|
42
44
|
get leastLoadNode() {
|
|
43
45
|
const sorted = [...this.nodes.entries()]
|
|
@@ -183,9 +185,75 @@ class StellaManager extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
183
185
|
this.healthCheckInterval = setInterval(() => this.checkNodeHealth(), interval);
|
|
184
186
|
this.emit("Debug", `[Manager] Node health monitor started (every ${interval}ms)`);
|
|
185
187
|
}
|
|
188
|
+
// Start zombie node detection
|
|
189
|
+
const zombie = this.options.zombieDetection;
|
|
190
|
+
if (zombie?.enabled !== false) {
|
|
191
|
+
const interval = zombie?.checkInterval ?? 20000;
|
|
192
|
+
this.zombieCheckInterval = setInterval(() => this.checkZombieNodes(), interval);
|
|
193
|
+
this.emit("Debug", `[Manager] Zombie node detection started (every ${interval}ms, max silence: ${zombie?.maxSilence ?? 30000}ms)`);
|
|
194
|
+
}
|
|
186
195
|
this.emit("Debug", "[Manager] Initialized");
|
|
187
196
|
return this;
|
|
188
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Detects "zombie" nodes: connected but no longer sending playerUpdates.
|
|
200
|
+
* This catches frozen Lavalink processes that pass TCP/heartbeat checks but
|
|
201
|
+
* have internally deadlocked. Players on zombie nodes hear silence.
|
|
202
|
+
*/
|
|
203
|
+
checkZombieNodes() {
|
|
204
|
+
const maxSilence = this.options.zombieDetection?.maxSilence ?? 30000;
|
|
205
|
+
const now = Date.now();
|
|
206
|
+
for (const node of this.nodes.values()) {
|
|
207
|
+
if (!node.connected)
|
|
208
|
+
continue;
|
|
209
|
+
// Only flag a node as zombie if it has playing players
|
|
210
|
+
const playingOnNode = [...this.players.values()].filter((p) => p.node === node && p.playing);
|
|
211
|
+
if (!playingOnNode.length)
|
|
212
|
+
continue;
|
|
213
|
+
// If we've never received a playerUpdate but there are playing players,
|
|
214
|
+
// give the node a grace period equal to maxSilence from connection time
|
|
215
|
+
if (node.lastPlayerUpdate === 0) {
|
|
216
|
+
if (node.lastHeartbeatAck > 0 && (now - node.lastHeartbeatAck) > maxSilence) {
|
|
217
|
+
// Node has been alive long enough — flag it
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
const silence = now - (node.lastPlayerUpdate || node.lastHeartbeatAck);
|
|
224
|
+
if (silence <= maxSilence)
|
|
225
|
+
continue;
|
|
226
|
+
// Node is zombie!
|
|
227
|
+
this.emit("Debug", `[Zombie] Node ${node.options.identifier} detected as zombie — ${playingOnNode.length} playing player(s), last playerUpdate ${silence}ms ago`);
|
|
228
|
+
this.emit("NodeZombie", node, playingOnNode.length, node.lastPlayerUpdate);
|
|
229
|
+
// Find healthy non-zombie nodes
|
|
230
|
+
const healthyNodes = [...this.nodes.values()].filter((n) => {
|
|
231
|
+
if (n === node || !n.connected)
|
|
232
|
+
return false;
|
|
233
|
+
// Don't migrate to another node that's also zombie
|
|
234
|
+
const nPlaying = [...this.players.values()].filter((p) => p.node === n && p.playing);
|
|
235
|
+
if (nPlaying.length > 0 && n.lastPlayerUpdate > 0 && (now - n.lastPlayerUpdate) > maxSilence)
|
|
236
|
+
return false;
|
|
237
|
+
return true;
|
|
238
|
+
});
|
|
239
|
+
if (!healthyNodes.length) {
|
|
240
|
+
this.emit("Debug", `[Zombie] No healthy nodes to failover from zombie ${node.options.identifier} — forcing reconnect`);
|
|
241
|
+
// Force kill the socket to trigger reconnect cycle
|
|
242
|
+
node.socket?.terminate();
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
healthyNodes.sort((a, b) => a.penalties - b.penalties);
|
|
246
|
+
for (const player of playingOnNode) {
|
|
247
|
+
const target = healthyNodes[0];
|
|
248
|
+
this.emit("Debug", `[Zombie] Moving player ${player.guild} from zombie ${node.options.identifier} → ${target.options.identifier}`);
|
|
249
|
+
player.moveNode(target.options.identifier).catch((err) => {
|
|
250
|
+
this.emit("Debug", `[Zombie] Failed to move player ${player.guild}: ${err instanceof Error ? err.message : String(err)}`);
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
// Force reconnect the zombie node
|
|
254
|
+
node.socket?.terminate();
|
|
255
|
+
}
|
|
256
|
+
}
|
|
189
257
|
/**
|
|
190
258
|
* Checks node health and preemptively migrates players from overloaded nodes.
|
|
191
259
|
* Called periodically when `nodeHealthThresholds` is configured.
|
|
@@ -295,6 +363,21 @@ class StellaManager extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
295
363
|
tracks,
|
|
296
364
|
playlist,
|
|
297
365
|
};
|
|
366
|
+
// Opus priority: sort tracks so Opus-native sources appear first
|
|
367
|
+
// SoundCloud and YouTube Music serve Opus natively — Discord uses Opus,
|
|
368
|
+
// so zero-transcode = lower CPU + better audio fidelity.
|
|
369
|
+
if (this.options.opusPriority && result.tracks.length > 1) {
|
|
370
|
+
const OPUS_SOURCES = new Set(["soundcloud", "youtube", "ytmusic"]);
|
|
371
|
+
result.tracks.sort((a, b) => {
|
|
372
|
+
const aIsOpus = OPUS_SOURCES.has(a.sourceName?.toLowerCase() ?? "");
|
|
373
|
+
const bIsOpus = OPUS_SOURCES.has(b.sourceName?.toLowerCase() ?? "");
|
|
374
|
+
if (aIsOpus && !bIsOpus)
|
|
375
|
+
return -1;
|
|
376
|
+
if (!aIsOpus && bIsOpus)
|
|
377
|
+
return 1;
|
|
378
|
+
return 0;
|
|
379
|
+
});
|
|
380
|
+
}
|
|
298
381
|
if (this.options.replaceYouTubeCredentials) {
|
|
299
382
|
let tracksToReplace = [];
|
|
300
383
|
if (result.loadType === "playlist" && result.playlist) {
|
|
@@ -357,6 +440,95 @@ class StellaManager extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
357
440
|
plugins: node.info?.plugins ?? [],
|
|
358
441
|
};
|
|
359
442
|
}
|
|
443
|
+
// ── LavaSearch Integration ────────────────────────────────────────────
|
|
444
|
+
/**
|
|
445
|
+
* Performs a structured search using the LavaSearch Lavalink plugin.
|
|
446
|
+
* Returns rich results including tracks, albums, artists, playlists, and text suggestions.
|
|
447
|
+
* Requires the LavaSearch plugin to be installed on the Lavalink server.
|
|
448
|
+
*
|
|
449
|
+
* @param query The search query or LavaSearchQuery object.
|
|
450
|
+
* @param requester The user who requested the search.
|
|
451
|
+
* @example
|
|
452
|
+
* ```ts
|
|
453
|
+
* const results = await manager.lavaSearch({ query: "Daft Punk", source: "spotify", types: ["track", "album", "artist"] });
|
|
454
|
+
* console.log(results.tracks, results.albums, results.artists);
|
|
455
|
+
* ```
|
|
456
|
+
*/
|
|
457
|
+
async lavaSearch(query, requester) {
|
|
458
|
+
const node = this.useableNodes;
|
|
459
|
+
if (!node)
|
|
460
|
+
throw new Error("No available nodes.");
|
|
461
|
+
const _query = typeof query === "string" ? { query } : query;
|
|
462
|
+
const source = _query.source ?? this.options.defaultSearchPlatform ?? "youtube";
|
|
463
|
+
const prefix = StellaManager.DEFAULT_SOURCES[source] ?? source;
|
|
464
|
+
const search = `${prefix}:${_query.query}`;
|
|
465
|
+
const raw = (await node.rest.lavaSearch(search, _query.types));
|
|
466
|
+
if (!raw || typeof raw !== "object")
|
|
467
|
+
return {};
|
|
468
|
+
const result = {};
|
|
469
|
+
// Build Track[] from raw track data
|
|
470
|
+
if (Array.isArray(raw.tracks)) {
|
|
471
|
+
result.tracks = raw.tracks.map((t) => Utils_1.TrackUtils.build(t, requester));
|
|
472
|
+
}
|
|
473
|
+
// Build album/artist/playlist results
|
|
474
|
+
for (const key of ["albums", "artists", "playlists"]) {
|
|
475
|
+
if (Array.isArray(raw[key])) {
|
|
476
|
+
result[key] = raw[key].map((item) => ({
|
|
477
|
+
info: item.info,
|
|
478
|
+
tracks: (item.tracks ?? []).map((t) => Utils_1.TrackUtils.build(t, requester)),
|
|
479
|
+
pluginInfo: item.pluginInfo,
|
|
480
|
+
}));
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
// Text results (autocomplete suggestions)
|
|
484
|
+
if (Array.isArray(raw.texts)) {
|
|
485
|
+
result.texts = raw.texts;
|
|
486
|
+
}
|
|
487
|
+
return result;
|
|
488
|
+
}
|
|
489
|
+
// ── RoutePlanner API ─────────────────────────────────────────────────
|
|
490
|
+
/**
|
|
491
|
+
* Gets the current RoutePlanner status from the Lavalink server.
|
|
492
|
+
* Useful for monitoring IP rotation and identifying failing addresses.
|
|
493
|
+
*
|
|
494
|
+
* @param nodeIdentifier Optional specific node to query. Defaults to best available.
|
|
495
|
+
*/
|
|
496
|
+
async getRoutePlannerStatus(nodeIdentifier) {
|
|
497
|
+
const node = nodeIdentifier
|
|
498
|
+
? this.nodes.get(nodeIdentifier)
|
|
499
|
+
: this.useableNodes;
|
|
500
|
+
if (!node)
|
|
501
|
+
throw new Error("No available nodes.");
|
|
502
|
+
return await node.rest.getRoutePlannerStatus();
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Unmarks a specific IP address as failing in the RoutePlanner.
|
|
506
|
+
*
|
|
507
|
+
* @param address The IP address to free.
|
|
508
|
+
* @param nodeIdentifier Optional specific node. Defaults to best available.
|
|
509
|
+
*/
|
|
510
|
+
async freeRoutePlannerAddress(address, nodeIdentifier) {
|
|
511
|
+
const node = nodeIdentifier
|
|
512
|
+
? this.nodes.get(nodeIdentifier)
|
|
513
|
+
: this.useableNodes;
|
|
514
|
+
if (!node)
|
|
515
|
+
throw new Error("No available nodes.");
|
|
516
|
+
await node.rest.freeRoutePlannerAddress(address);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Unmarks all failing IP addresses in the RoutePlanner.
|
|
520
|
+
*
|
|
521
|
+
* @param nodeIdentifier Optional specific node. Defaults to best available.
|
|
522
|
+
*/
|
|
523
|
+
async freeAllRoutePlannerAddresses(nodeIdentifier) {
|
|
524
|
+
const node = nodeIdentifier
|
|
525
|
+
? this.nodes.get(nodeIdentifier)
|
|
526
|
+
: this.useableNodes;
|
|
527
|
+
if (!node)
|
|
528
|
+
throw new Error("No available nodes.");
|
|
529
|
+
await node.rest.freeAllRoutePlannerAddresses();
|
|
530
|
+
}
|
|
531
|
+
// ── Decode ───────────────────────────────────────────────────────────
|
|
360
532
|
/**
|
|
361
533
|
* Decodes the base64 encoded tracks and returns a TrackData array.
|
|
362
534
|
* @param tracks
|
|
@@ -397,10 +569,17 @@ class StellaManager extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
397
569
|
}
|
|
398
570
|
/**
|
|
399
571
|
* Destroys a player if it exists.
|
|
572
|
+
* Properly cleans up the player (disconnects, stops timers) before removing.
|
|
400
573
|
* @param guild
|
|
401
574
|
*/
|
|
402
575
|
destroy(guild) {
|
|
403
|
-
this.players.
|
|
576
|
+
const player = this.players.get(guild);
|
|
577
|
+
if (player) {
|
|
578
|
+
player.destroy();
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
this.players.delete(guild);
|
|
582
|
+
}
|
|
404
583
|
}
|
|
405
584
|
/**
|
|
406
585
|
* Creates a node or returns one if it already exists.
|
|
@@ -557,6 +736,10 @@ class StellaManager extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
557
736
|
clearInterval(this.healthCheckInterval);
|
|
558
737
|
this.healthCheckInterval = undefined;
|
|
559
738
|
}
|
|
739
|
+
if (this.zombieCheckInterval) {
|
|
740
|
+
clearInterval(this.zombieCheckInterval);
|
|
741
|
+
this.zombieCheckInterval = undefined;
|
|
742
|
+
}
|
|
560
743
|
this.caches.clear();
|
|
561
744
|
this.emit("Debug", `[Manager] Shutdown complete. ${this.nodes.size} nodes closed, sessions + player states persisted.`);
|
|
562
745
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/Structures/Manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/Structures/Manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ declare class StellaNode {
|
|
|
29
29
|
info: LavalinkInfo | null;
|
|
30
30
|
/** Detected Lavalink version (3 or 4). Auto-detected on connect. */
|
|
31
31
|
version: LavalinkVersion;
|
|
32
|
+
/** Timestamp of the last playerUpdate received from this node. Used for zombie detection. */
|
|
33
|
+
lastPlayerUpdate: number;
|
|
32
34
|
private static _manager;
|
|
33
35
|
private reconnectTimeout?;
|
|
34
36
|
private reconnectAttempts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Structures/Node.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAEX,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EAEf,WAAW,EACX,YAAY,EAEZ,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,KAAK,EACL,eAAe,EACf,oBAAoB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,SAAS,MAAM,IAAI,CAAC;AAc3B,cAAM,UAAU;
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Structures/Node.ts"],"names":[],"mappings":"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"}
|
package/dist/Structures/Node.js
CHANGED
|
@@ -38,6 +38,8 @@ class StellaNode {
|
|
|
38
38
|
info = null;
|
|
39
39
|
/** Detected Lavalink version (3 or 4). Auto-detected on connect. */
|
|
40
40
|
version = 4;
|
|
41
|
+
/** Timestamp of the last playerUpdate received from this node. Used for zombie detection. */
|
|
42
|
+
lastPlayerUpdate = 0;
|
|
41
43
|
static _manager;
|
|
42
44
|
reconnectTimeout;
|
|
43
45
|
reconnectAttempts = 1;
|
|
@@ -221,7 +223,16 @@ class StellaNode {
|
|
|
221
223
|
? `${protocol}://${this.address}`
|
|
222
224
|
: `${protocol}://${this.address}/v4/websocket`;
|
|
223
225
|
this.manager.emit("Debug", `[Node:${this.options.identifier}] Connecting to ${url}${this.sessionId ? " (resuming)" : ""}`);
|
|
224
|
-
|
|
226
|
+
const wsOptions = { headers };
|
|
227
|
+
// Enable per-message deflate compression if configured
|
|
228
|
+
if (this.options.wsCompression) {
|
|
229
|
+
wsOptions.perMessageDeflate = {
|
|
230
|
+
zlibDeflateOptions: { level: 6 },
|
|
231
|
+
threshold: 128,
|
|
232
|
+
};
|
|
233
|
+
this.manager.emit("Debug", `[Node:${this.options.identifier}] WebSocket compression enabled (perMessageDeflate)`);
|
|
234
|
+
}
|
|
235
|
+
this.socket = new ws_1.default(url, wsOptions);
|
|
225
236
|
this.socket.on("open", this.open.bind(this));
|
|
226
237
|
this.socket.on("close", this.close.bind(this));
|
|
227
238
|
this.socket.on("message", this.message.bind(this));
|
|
@@ -452,6 +463,7 @@ class StellaNode {
|
|
|
452
463
|
this.statsLastUpdated = Date.now();
|
|
453
464
|
break;
|
|
454
465
|
case "playerUpdate": {
|
|
466
|
+
this.lastPlayerUpdate = Date.now();
|
|
455
467
|
const player = this.manager.players.get(payload.guildId);
|
|
456
468
|
if (player) {
|
|
457
469
|
player.position = payload.state.position || 0;
|
|
@@ -667,6 +679,14 @@ class StellaNode {
|
|
|
667
679
|
trackStart(player, track, payload) {
|
|
668
680
|
player.playing = true;
|
|
669
681
|
player.paused = false;
|
|
682
|
+
// Restore volume after crossfade (previous track faded out, new track starts at full volume)
|
|
683
|
+
if (player.crossfadeDuration > 0) {
|
|
684
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Crossfade: restoring volume to ${player.volume} for new track`);
|
|
685
|
+
player.node.rest.updatePlayer({
|
|
686
|
+
guildId: player.guild,
|
|
687
|
+
data: { volume: player.volume },
|
|
688
|
+
}).catch(() => { });
|
|
689
|
+
}
|
|
670
690
|
this.manager.emit("TrackStart", player, track, payload);
|
|
671
691
|
}
|
|
672
692
|
async trackEnd(player, track, payload) {
|
|
@@ -1103,15 +1123,47 @@ class StellaNode {
|
|
|
1103
1123
|
}
|
|
1104
1124
|
socketClosed(player, payload) {
|
|
1105
1125
|
this.manager.emit("SocketClosed", player, payload);
|
|
1126
|
+
// Voice rotation / desync codes — recoverable via silent re-identify
|
|
1127
|
+
// 4015 = Voice server changed (Discord rotated the voice server)
|
|
1128
|
+
// 4000 = Unknown error (often a UDP desync, recoverable)
|
|
1129
|
+
const VOICE_RECONNECT_CODES = [4015, 4000];
|
|
1130
|
+
if (VOICE_RECONNECT_CODES.includes(payload.code) && player.voiceChannel) {
|
|
1131
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice socket closed with recoverable code ${payload.code} — attempting silent re-identify`);
|
|
1132
|
+
player.reconnectVoice().then(() => {
|
|
1133
|
+
this.manager.emit("VoiceReconnect", player, payload.code);
|
|
1134
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice re-identified successfully after code ${payload.code}`);
|
|
1135
|
+
}).catch((err) => {
|
|
1136
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice re-identify failed: ${err instanceof Error ? err.message : String(err)} — cleaning up`);
|
|
1137
|
+
player.voiceReady = false;
|
|
1138
|
+
player.connected = false;
|
|
1139
|
+
player.playing = false;
|
|
1140
|
+
player.state = "DISCONNECTED";
|
|
1141
|
+
});
|
|
1142
|
+
return;
|
|
1143
|
+
}
|
|
1106
1144
|
// 4014 = Disconnected by Discord (bot was kicked/moved out of voice)
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
if (VOICE_FATAL_CODES.includes(payload.code)) {
|
|
1110
|
-
this.manager.emit("Debug", `[Player:${player.guild}] Voice socket closed with code ${payload.code} (${payload.reason || "no reason"}) — cleaning up player`);
|
|
1145
|
+
if (payload.code === 4014) {
|
|
1146
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice socket closed with code 4014 (kicked from voice) — cleaning up player`);
|
|
1111
1147
|
player.voiceReady = false;
|
|
1112
1148
|
player.connected = false;
|
|
1113
1149
|
player.playing = false;
|
|
1114
1150
|
player.state = "DISCONNECTED";
|
|
1151
|
+
return;
|
|
1152
|
+
}
|
|
1153
|
+
// 4006 = Session no longer valid — try re-identify, fall back to cleanup
|
|
1154
|
+
if (payload.code === 4006 && player.voiceChannel) {
|
|
1155
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice session invalidated (4006) — attempting re-identify`);
|
|
1156
|
+
player.reconnectVoice().then(() => {
|
|
1157
|
+
this.manager.emit("VoiceReconnect", player, payload.code);
|
|
1158
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice re-identified after session invalidation`);
|
|
1159
|
+
}).catch(() => {
|
|
1160
|
+
this.manager.emit("Debug", `[Player:${player.guild}] Voice re-identify failed after 4006 — disconnecting`);
|
|
1161
|
+
player.voiceReady = false;
|
|
1162
|
+
player.connected = false;
|
|
1163
|
+
player.playing = false;
|
|
1164
|
+
player.state = "DISCONNECTED";
|
|
1165
|
+
});
|
|
1166
|
+
return;
|
|
1115
1167
|
}
|
|
1116
1168
|
}
|
|
1117
1169
|
}
|