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.
@@ -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
- this.LavalinkManager.emit("playerCreate", this);
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, ...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
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
- this.LavalinkManager.emit("playerCreate", this);
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, ...(Array.isArray(TrackOrTracks) ? TrackOrTracks : [TrackOrTracks]).filter(v => this.managerUtils.isTrack(v) || this.managerUtils.isUnresolvedTrack(v)));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lavalink-client",
3
- "version": "2.5.2",
3
+ "version": "2.5.4",
4
4
  "description": "Easy, flexible and feature-rich lavalink@v4 Client. Both for Beginners and Proficients.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",