magmastream 2.9.3-dev.24 → 2.9.3-dev.25
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.
|
@@ -544,11 +544,9 @@ class Manager extends events_1.EventEmitter {
|
|
|
544
544
|
const hasGuild = this.resolveGuild(state.guildId);
|
|
545
545
|
if (!hasGuild)
|
|
546
546
|
continue;
|
|
547
|
-
const lavaPlayer = await node.rest.
|
|
548
|
-
if (!lavaPlayer)
|
|
549
|
-
await this.destroy(state.guildId);
|
|
547
|
+
const lavaPlayer = (await node.rest.get(`/v4/sessions/${state.node.sessionId}/players/${state.guildId}`));
|
|
548
|
+
if (!lavaPlayer)
|
|
550
549
|
continue;
|
|
551
|
-
}
|
|
552
550
|
const playerOptions = {
|
|
553
551
|
guildId: state.options.guildId,
|
|
554
552
|
textChannelId: state.options.textChannelId,
|
|
@@ -561,7 +559,6 @@ class Manager extends events_1.EventEmitter {
|
|
|
561
559
|
};
|
|
562
560
|
const player = this.create(playerOptions);
|
|
563
561
|
this.emit(Enums_1.ManagerEventTypes.Debug, `[MANAGER] Recreating player: ${state.guildId} from saved file: ${Utils_1.JSONUtils.safe(state.options, 2)}`);
|
|
564
|
-
player.connect();
|
|
565
562
|
if (state.isAutoplay) {
|
|
566
563
|
const savedUser = state.data.clientUser;
|
|
567
564
|
if (savedUser) {
|
|
@@ -636,7 +633,6 @@ class Manager extends events_1.EventEmitter {
|
|
|
636
633
|
else {
|
|
637
634
|
await player.queue.clearPrevious();
|
|
638
635
|
}
|
|
639
|
-
await player.pause(state.paused);
|
|
640
636
|
if (state.trackRepeat)
|
|
641
637
|
player.setTrackRepeat(true);
|
|
642
638
|
if (state.queueRepeat)
|
|
@@ -682,6 +678,13 @@ class Manager extends events_1.EventEmitter {
|
|
|
682
678
|
filterActions[filter](true);
|
|
683
679
|
}
|
|
684
680
|
}
|
|
681
|
+
player.connect();
|
|
682
|
+
if (lavaPlayer.track) {
|
|
683
|
+
await player.play(Utils_1.TrackUtils.build(lavaPlayer.track, currentTrack.requester, currentTrack.isAutoplay), {
|
|
684
|
+
startTime: lavaPlayer.state.position ?? 0,
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
await player.pause(state.paused);
|
|
685
688
|
try {
|
|
686
689
|
await promises_1.default.rm(Utils_1.PlayerUtils.getPlayerStatePath(guildId), { force: true });
|
|
687
690
|
this.emit(Enums_1.ManagerEventTypes.Debug, `[MANAGER] Deleted player state folder for guild ${guildId}`);
|
|
@@ -723,7 +726,7 @@ class Manager extends events_1.EventEmitter {
|
|
|
723
726
|
const hasGuild = this.resolveGuild(guildId);
|
|
724
727
|
if (!hasGuild)
|
|
725
728
|
continue;
|
|
726
|
-
const lavaPlayer = await node.rest.
|
|
729
|
+
const lavaPlayer = (await node.rest.get(`/v4/sessions/${state.node.sessionId}/players/${state.guildId}`));
|
|
727
730
|
if (!lavaPlayer)
|
|
728
731
|
await this.destroy(guildId);
|
|
729
732
|
const playerOptions = {
|
|
@@ -738,7 +741,6 @@ class Manager extends events_1.EventEmitter {
|
|
|
738
741
|
};
|
|
739
742
|
const player = this.create(playerOptions);
|
|
740
743
|
this.emit(Enums_1.ManagerEventTypes.Debug, `[MANAGER] Recreating player: ${guildId} from Redis`);
|
|
741
|
-
player.connect();
|
|
742
744
|
if (state.isAutoplay) {
|
|
743
745
|
const savedUser = state.data.clientUser;
|
|
744
746
|
if (savedUser) {
|
|
@@ -820,7 +822,6 @@ class Manager extends events_1.EventEmitter {
|
|
|
820
822
|
else {
|
|
821
823
|
await player.queue.clearPrevious();
|
|
822
824
|
}
|
|
823
|
-
await player.pause(state.paused);
|
|
824
825
|
if (state.trackRepeat)
|
|
825
826
|
player.setTrackRepeat(true);
|
|
826
827
|
if (state.queueRepeat)
|
|
@@ -867,6 +868,13 @@ class Manager extends events_1.EventEmitter {
|
|
|
867
868
|
filterActions[filter](true);
|
|
868
869
|
}
|
|
869
870
|
}
|
|
871
|
+
player.connect();
|
|
872
|
+
if (lavaPlayer.track) {
|
|
873
|
+
await player.play(Utils_1.TrackUtils.build(lavaPlayer.track, currentTrack.requester, currentTrack.isAutoplay), {
|
|
874
|
+
startTime: lavaPlayer.state.position ?? 0,
|
|
875
|
+
});
|
|
876
|
+
}
|
|
877
|
+
await player.pause(state.paused);
|
|
870
878
|
// After processing, delete the Redis key
|
|
871
879
|
await this.redis.del(key);
|
|
872
880
|
this.emit(Enums_1.ManagerEventTypes.Debug, `[MANAGER] Deleted player state from Redis: ${key}`);
|
package/dist/structures/Node.js
CHANGED
|
@@ -487,10 +487,11 @@ class Node {
|
|
|
487
487
|
case "ready":
|
|
488
488
|
this.manager.emit(Enums_1.ManagerEventTypes.Debug, `[NODE] Node message: ${Utils_1.JSONUtils.safe(payload, 2)}`);
|
|
489
489
|
this.rest.setSessionId(payload.sessionId);
|
|
490
|
+
const hadPreviousSession = this.sessionId && this.sessionId !== payload.sessionId;
|
|
490
491
|
this.sessionId = payload.sessionId;
|
|
491
492
|
await this.updateSessionId();
|
|
492
493
|
this.info = await this.fetchInfo();
|
|
493
|
-
if (payload.resumed) {
|
|
494
|
+
if (payload.resumed || !hadPreviousSession) {
|
|
494
495
|
await this.manager.loadPlayerStates(this.options.identifier);
|
|
495
496
|
}
|
|
496
497
|
if (this.options.enableSessionResumeOption) {
|
package/dist/structures/Utils.js
CHANGED
|
@@ -684,7 +684,6 @@ class PlayerUtils {
|
|
|
684
684
|
const snapshot = {
|
|
685
685
|
options: player.options,
|
|
686
686
|
voiceState: player.voiceState,
|
|
687
|
-
clusterId: player.clusterId,
|
|
688
687
|
guildId: player.guildId,
|
|
689
688
|
voiceChannelId: player.voiceChannelId ?? null,
|
|
690
689
|
textChannelId: player.textChannelId ?? null,
|