lavalink-client 2.5.2 → 2.5.4
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/cjs/structures/LavalinkManager.js +2 -1
- package/dist/cjs/structures/Player.d.ts +1 -1
- package/dist/cjs/structures/Player.js +3 -2
- package/dist/cjs/structures/Queue.js +7 -6
- package/dist/esm/structures/LavalinkManager.js +2 -1
- package/dist/esm/structures/Player.d.ts +1 -1
- package/dist/esm/structures/Player.js +3 -2
- package/dist/esm/structures/Queue.js +7 -6
- package/dist/types/structures/Player.d.ts +1 -1
- package/package.json +1 -1
|
@@ -274,8 +274,9 @@ class LavalinkManager extends events_1.EventEmitter {
|
|
|
274
274
|
const oldPlayer = this.getPlayer(options?.guildId);
|
|
275
275
|
if (oldPlayer)
|
|
276
276
|
return oldPlayer;
|
|
277
|
-
const newPlayer = new Player_1.Player(options, this);
|
|
277
|
+
const newPlayer = new Player_1.Player(options, this, true);
|
|
278
278
|
this.players.set(newPlayer.guildId, newPlayer);
|
|
279
|
+
this.emit("playerCreate", newPlayer);
|
|
279
280
|
return newPlayer;
|
|
280
281
|
}
|
|
281
282
|
/**
|
|
@@ -66,7 +66,7 @@ export declare class Player {
|
|
|
66
66
|
* @param options
|
|
67
67
|
* @param LavalinkManager
|
|
68
68
|
*/
|
|
69
|
-
constructor(options: PlayerOptions, LavalinkManager: LavalinkManager);
|
|
69
|
+
constructor(options: PlayerOptions, LavalinkManager: LavalinkManager, dontEmitPlayerCreateEvent?: boolean);
|
|
70
70
|
/**
|
|
71
71
|
* Set custom data.
|
|
72
72
|
* @param key
|
|
@@ -73,7 +73,7 @@ class Player {
|
|
|
73
73
|
* @param options
|
|
74
74
|
* @param LavalinkManager
|
|
75
75
|
*/
|
|
76
|
-
constructor(options, LavalinkManager) {
|
|
76
|
+
constructor(options, LavalinkManager, dontEmitPlayerCreateEvent) {
|
|
77
77
|
if (typeof options?.customData === "object")
|
|
78
78
|
for (const [key, value] of Object.entries(options.customData))
|
|
79
79
|
this.set(key, value);
|
|
@@ -105,7 +105,8 @@ class Player {
|
|
|
105
105
|
this.lavalinkVolume = Math.round(Math.max(Math.min(Math.round(this.LavalinkManager.options.playerOptions.volumeDecrementer
|
|
106
106
|
? this.volume * this.LavalinkManager.options.playerOptions.volumeDecrementer
|
|
107
107
|
: this.volume), 1000), 0));
|
|
108
|
-
|
|
108
|
+
if (!dontEmitPlayerCreateEvent)
|
|
109
|
+
this.LavalinkManager.emit("playerCreate", this);
|
|
109
110
|
this.queue = new Queue_1.Queue(this.guildId, {}, new Queue_1.QueueSaver(this.LavalinkManager.options.queueOptions), this.LavalinkManager.options.queueOptions);
|
|
110
111
|
}
|
|
111
112
|
/**
|
|
@@ -207,15 +207,16 @@ class Queue {
|
|
|
207
207
|
* @returns {number} Queue-Size (for the next Tracks)
|
|
208
208
|
*/
|
|
209
209
|
async add(TrackOrTracks, index) {
|
|
210
|
-
if (typeof index === "number" && index >= 0 && index < this.tracks.length)
|
|
211
|
-
return await this.splice(index, 0,
|
|
210
|
+
if (typeof index === "number" && index >= 0 && index < this.tracks.length) {
|
|
211
|
+
return await this.splice(index, 0, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
|
|
212
|
+
}
|
|
212
213
|
const oldStored = typeof this.queueChanges?.tracksAdd === "function" ? this.utils.toJSON() : null;
|
|
213
214
|
// add the track(s)
|
|
214
|
-
this.tracks.push(...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
|
|
215
|
+
this.tracks.push(...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
|
|
215
216
|
// log if available
|
|
216
217
|
if (typeof this.queueChanges?.tracksAdd === "function")
|
|
217
218
|
try {
|
|
218
|
-
this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), this.tracks.length, oldStored, this.utils.toJSON());
|
|
219
|
+
this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), this.tracks.length, oldStored, this.utils.toJSON());
|
|
219
220
|
}
|
|
220
221
|
catch { /* */ }
|
|
221
222
|
// save the queue
|
|
@@ -241,11 +242,11 @@ class Queue {
|
|
|
241
242
|
// Log if available
|
|
242
243
|
if ((TrackOrTracks) && typeof this.queueChanges?.tracksAdd === "function")
|
|
243
244
|
try {
|
|
244
|
-
this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), index, oldStored, this.utils.toJSON());
|
|
245
|
+
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());
|
|
245
246
|
}
|
|
246
247
|
catch { /* */ }
|
|
247
248
|
// remove the tracks (and add the new ones)
|
|
248
|
-
let spliced = TrackOrTracks ? this.tracks.splice(index, amount, ...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v))) : this.tracks.splice(index, amount);
|
|
249
|
+
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);
|
|
249
250
|
// get the spliced array
|
|
250
251
|
spliced = (Array.isArray(spliced) ? spliced : [spliced]);
|
|
251
252
|
// Log if available
|
|
@@ -271,8 +271,9 @@ export class LavalinkManager extends EventEmitter {
|
|
|
271
271
|
const oldPlayer = this.getPlayer(options?.guildId);
|
|
272
272
|
if (oldPlayer)
|
|
273
273
|
return oldPlayer;
|
|
274
|
-
const newPlayer = new Player(options, this);
|
|
274
|
+
const newPlayer = new Player(options, this, true);
|
|
275
275
|
this.players.set(newPlayer.guildId, newPlayer);
|
|
276
|
+
this.emit("playerCreate", newPlayer);
|
|
276
277
|
return newPlayer;
|
|
277
278
|
}
|
|
278
279
|
/**
|
|
@@ -66,7 +66,7 @@ export declare class Player {
|
|
|
66
66
|
* @param options
|
|
67
67
|
* @param LavalinkManager
|
|
68
68
|
*/
|
|
69
|
-
constructor(options: PlayerOptions, LavalinkManager: LavalinkManager);
|
|
69
|
+
constructor(options: PlayerOptions, LavalinkManager: LavalinkManager, dontEmitPlayerCreateEvent?: boolean);
|
|
70
70
|
/**
|
|
71
71
|
* Set custom data.
|
|
72
72
|
* @param key
|
|
@@ -70,7 +70,7 @@ export class Player {
|
|
|
70
70
|
* @param options
|
|
71
71
|
* @param LavalinkManager
|
|
72
72
|
*/
|
|
73
|
-
constructor(options, LavalinkManager) {
|
|
73
|
+
constructor(options, LavalinkManager, dontEmitPlayerCreateEvent) {
|
|
74
74
|
if (typeof options?.customData === "object")
|
|
75
75
|
for (const [key, value] of Object.entries(options.customData))
|
|
76
76
|
this.set(key, value);
|
|
@@ -102,7 +102,8 @@ export class Player {
|
|
|
102
102
|
this.lavalinkVolume = Math.round(Math.max(Math.min(Math.round(this.LavalinkManager.options.playerOptions.volumeDecrementer
|
|
103
103
|
? this.volume * this.LavalinkManager.options.playerOptions.volumeDecrementer
|
|
104
104
|
: this.volume), 1000), 0));
|
|
105
|
-
|
|
105
|
+
if (!dontEmitPlayerCreateEvent)
|
|
106
|
+
this.LavalinkManager.emit("playerCreate", this);
|
|
106
107
|
this.queue = new Queue(this.guildId, {}, new QueueSaver(this.LavalinkManager.options.queueOptions), this.LavalinkManager.options.queueOptions);
|
|
107
108
|
}
|
|
108
109
|
/**
|
|
@@ -202,15 +202,16 @@ export class Queue {
|
|
|
202
202
|
* @returns {number} Queue-Size (for the next Tracks)
|
|
203
203
|
*/
|
|
204
204
|
async add(TrackOrTracks, index) {
|
|
205
|
-
if (typeof index === "number" && index >= 0 && index < this.tracks.length)
|
|
206
|
-
return await this.splice(index, 0,
|
|
205
|
+
if (typeof index === "number" && index >= 0 && index < this.tracks.length) {
|
|
206
|
+
return await this.splice(index, 0, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
|
|
207
|
+
}
|
|
207
208
|
const oldStored = typeof this.queueChanges?.tracksAdd === "function" ? this.utils.toJSON() : null;
|
|
208
209
|
// add the track(s)
|
|
209
|
-
this.tracks.push(...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
|
|
210
|
+
this.tracks.push(...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
|
|
210
211
|
// log if available
|
|
211
212
|
if (typeof this.queueChanges?.tracksAdd === "function")
|
|
212
213
|
try {
|
|
213
|
-
this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), this.tracks.length, oldStored, this.utils.toJSON());
|
|
214
|
+
this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).flat(2).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), this.tracks.length, oldStored, this.utils.toJSON());
|
|
214
215
|
}
|
|
215
216
|
catch { /* */ }
|
|
216
217
|
// save the queue
|
|
@@ -236,11 +237,11 @@ export class Queue {
|
|
|
236
237
|
// Log if available
|
|
237
238
|
if ((TrackOrTracks) && typeof this.queueChanges?.tracksAdd === "function")
|
|
238
239
|
try {
|
|
239
|
-
this.queueChanges.tracksAdd(this.guildId, (Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)), index, oldStored, this.utils.toJSON());
|
|
240
|
+
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());
|
|
240
241
|
}
|
|
241
242
|
catch { /* */ }
|
|
242
243
|
// remove the tracks (and add the new ones)
|
|
243
|
-
let spliced = TrackOrTracks ? this.tracks.splice(index, amount, ...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v))) : this.tracks.splice(index, amount);
|
|
244
|
+
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);
|
|
244
245
|
// get the spliced array
|
|
245
246
|
spliced = (Array.isArray(spliced) ? spliced : [spliced]);
|
|
246
247
|
// Log if available
|
|
@@ -66,7 +66,7 @@ export declare class Player {
|
|
|
66
66
|
* @param options
|
|
67
67
|
* @param LavalinkManager
|
|
68
68
|
*/
|
|
69
|
-
constructor(options: PlayerOptions, LavalinkManager: LavalinkManager);
|
|
69
|
+
constructor(options: PlayerOptions, LavalinkManager: LavalinkManager, dontEmitPlayerCreateEvent?: boolean);
|
|
70
70
|
/**
|
|
71
71
|
* Set custom data.
|
|
72
72
|
* @param key
|
package/package.json
CHANGED