Skip to content

Commit 6713808

Browse files
authored
Merge pull request #157 from LucasB25/main
fix
2 parents ca2a59b + 6600371 commit 6713808

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,12 @@
5555
},
5656
"homepage": "https://tomato6966.github.io/lavalink-client/",
5757
"devDependencies": {
58-
"@eslint/eslintrc": "^3.3.1",
58+
"@eslint/eslintrc": "^3.3.3",
5959
"@eslint/js": "^9.39.1",
6060
"@types/node": "^24.10.1",
6161
"@types/ws": "^8.18.1",
62-
"@typescript-eslint/eslint-plugin": "^8.46.4",
63-
"@typescript-eslint/parser": "^8.46.4",
62+
"@typescript-eslint/eslint-plugin": "^8.48.0",
63+
"@typescript-eslint/parser": "^8.48.0",
6464
"eslint": "^9.39.1",
6565
"tsup": "^8.5.1",
6666
"typescript": "^5.9.3"

src/structures/CustomSearches/BandCampSearch.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@ export const bandCampSearch = async (player: Player, query: string, requestUser:
1818
}
1919
});
2020

21-
const json = await data.json() as { results: { [key: string]: string }[] };
21+
if (!data.ok) throw new Error(`Bandcamp Error: ${data.statusText}`);
22+
23+
let json;
24+
try {
25+
json = await data.json();
26+
} catch {
27+
throw new Error("Invalid JSON response from Bandcamp");
28+
}
2229

2330
tracks = json?.results?.filter(x => !!x && typeof x === "object" && "type" in x && x.type === "t").map?.(item => player.LavalinkManager.utils.buildUnresolvedTrack({
2431
uri: item.url || item.uri,
@@ -37,4 +44,4 @@ export const bandCampSearch = async (player: Player, query: string, requestUser:
3744
playlist: null,
3845
tracks: tracks
3946
} as UnresolvedSearchResult;
40-
}
47+
}

src/structures/Filters.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ export class FilterManager {
200200
checkFiltersState(oldFilterTimescale?: Partial<TimescaleFilter>): boolean {
201201
this.data = this.data ?? {};
202202

203+
this.filters.audioOutput = (this.data.channelMix && this.filters.audioOutput !== "stereo") ? this.filters.audioOutput : "stereo";
204+
203205
this.filters.rotation = this.privateNot0(this.data.rotation?.rotationHz);
204206
this.filters.vibrato = this.privateNot0(this.data.vibrato?.frequency) || this.privateNot0(this.data.vibrato?.depth);
205207
this.filters.tremolo = this.privateNot0(this.data.tremolo?.frequency) || this.privateNot0(this.data.tremolo?.depth);
@@ -814,7 +816,7 @@ export class FilterManager {
814816
* await player.filterManager.setEQPreset('BassboostMedium');
815817
* ```
816818
*/
817-
public async setEQPreset(preset : keyof typeof EQList): Promise<this> {
819+
public async setEQPreset(preset: keyof typeof EQList): Promise<this> {
818820
const bands = EQList[preset];
819821
return this.setEQ(bands);
820822
}

src/structures/Node.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1057,7 +1057,6 @@ export class LavalinkNode {
10571057
private async open(): Promise<void> {
10581058
this.isAlive = true;
10591059

1060-
this.reconnectAttempts = 1;
10611060
if (this.reconnectTimeout) clearTimeout(this.reconnectTimeout);
10621061

10631062
// trigger heartbeat-ping timeout - this is to check wether the client lost connection without knowing it
@@ -1213,6 +1212,9 @@ export class LavalinkNode {
12131212
this.handleEvent(payload);
12141213
break;
12151214
case "ready": // payload: { resumed: false, sessionId: 'ytva350aevn6n9n8', op: 'ready' }
1215+
this.reconnectAttempts = 1;
1216+
clearTimeout(this.reconnectTimeout);
1217+
12161218
this.sessionId = payload.sessionId;
12171219
this.resuming.enabled = payload.resumed;
12181220
if (payload.resumed === true) {

src/structures/Queue.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,9 +280,15 @@ export class Queue {
280280
// Log if available
281281
if ((TrackOrTracks) && typeof this.queueChanges?.tracksAdd === "function") try { this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), index, oldStored, this.utils.toJSON()); } catch { /* */ }
282282
// remove the tracks (and add the new ones)
283-
let spliced = TrackOrTracks ? this.tracks.splice(index, amount, ...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v))) : this.tracks.splice(index, amount);
284-
// get the spliced array
285-
spliced = (Array.isArray(spliced) ? spliced : [spliced]);
283+
const spliced = TrackOrTracks
284+
? this.tracks.splice(
285+
index,
286+
amount,
287+
...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks])
288+
.flat(2)
289+
.filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v))
290+
)
291+
: this.tracks.splice(index, amount);
286292
// Log if available
287293
if (typeof this.queueChanges?.tracksRemoved === "function") try { this.queueChanges.tracksRemoved(this.guildId, spliced, index, oldStored, this.utils.toJSON()) } catch { /* */ }
288294
// save the queue

0 commit comments

Comments
 (0)