distube 5.0.6 → 5.0.7
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/index.d.mts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +17 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +17 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -14
package/dist/index.d.mts
CHANGED
|
@@ -387,7 +387,7 @@ declare class TaskQueue {
|
|
|
387
387
|
/**
|
|
388
388
|
* Waits for last task finished and queues a new task
|
|
389
389
|
*/
|
|
390
|
-
queuing(): Promise<void>;
|
|
390
|
+
queuing(isPlay?: boolean): Promise<void>;
|
|
391
391
|
/**
|
|
392
392
|
* Removes the finished task and processes the next task
|
|
393
393
|
*/
|
|
@@ -396,6 +396,10 @@ declare class TaskQueue {
|
|
|
396
396
|
* The remaining number of tasks
|
|
397
397
|
*/
|
|
398
398
|
get remaining(): number;
|
|
399
|
+
/**
|
|
400
|
+
* Whether or not having a play task
|
|
401
|
+
*/
|
|
402
|
+
get hasPlayTask(): boolean;
|
|
399
403
|
}
|
|
400
404
|
|
|
401
405
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -387,7 +387,7 @@ declare class TaskQueue {
|
|
|
387
387
|
/**
|
|
388
388
|
* Waits for last task finished and queues a new task
|
|
389
389
|
*/
|
|
390
|
-
queuing(): Promise<void>;
|
|
390
|
+
queuing(isPlay?: boolean): Promise<void>;
|
|
391
391
|
/**
|
|
392
392
|
* Removes the finished task and processes the next task
|
|
393
393
|
*/
|
|
@@ -396,6 +396,10 @@ declare class TaskQueue {
|
|
|
396
396
|
* The remaining number of tasks
|
|
397
397
|
*/
|
|
398
398
|
get remaining(): number;
|
|
399
|
+
/**
|
|
400
|
+
* Whether or not having a play task
|
|
401
|
+
*/
|
|
402
|
+
get hasPlayTask(): boolean;
|
|
399
403
|
}
|
|
400
404
|
|
|
401
405
|
/**
|
package/dist/index.js
CHANGED
|
@@ -217,7 +217,9 @@ var Task = class {
|
|
|
217
217
|
}
|
|
218
218
|
resolve;
|
|
219
219
|
promise;
|
|
220
|
-
|
|
220
|
+
isPlay;
|
|
221
|
+
constructor(isPlay) {
|
|
222
|
+
this.isPlay = isPlay;
|
|
221
223
|
this.promise = new Promise((res) => {
|
|
222
224
|
this.resolve = res;
|
|
223
225
|
});
|
|
@@ -234,9 +236,9 @@ var TaskQueue = class {
|
|
|
234
236
|
/**
|
|
235
237
|
* Waits for last task finished and queues a new task
|
|
236
238
|
*/
|
|
237
|
-
queuing() {
|
|
239
|
+
queuing(isPlay = false) {
|
|
238
240
|
const next = this.remaining ? this.#tasks[this.#tasks.length - 1].promise : Promise.resolve();
|
|
239
|
-
this.#tasks.push(new Task());
|
|
241
|
+
this.#tasks.push(new Task(isPlay));
|
|
240
242
|
return next;
|
|
241
243
|
}
|
|
242
244
|
/**
|
|
@@ -251,6 +253,12 @@ var TaskQueue = class {
|
|
|
251
253
|
get remaining() {
|
|
252
254
|
return this.#tasks.length;
|
|
253
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Whether or not having a play task
|
|
258
|
+
*/
|
|
259
|
+
get hasPlayTask() {
|
|
260
|
+
return this.#tasks.some((t) => t.isPlay);
|
|
261
|
+
}
|
|
254
262
|
};
|
|
255
263
|
|
|
256
264
|
// src/struct/Playlist.ts
|
|
@@ -1901,9 +1909,6 @@ var Queue = class extends DisTubeBase {
|
|
|
1901
1909
|
async stop() {
|
|
1902
1910
|
await this._taskQueue.queuing();
|
|
1903
1911
|
try {
|
|
1904
|
-
this.playing = false;
|
|
1905
|
-
this.paused = false;
|
|
1906
|
-
this.stopped = true;
|
|
1907
1912
|
this.voice.stop();
|
|
1908
1913
|
this.remove();
|
|
1909
1914
|
} finally {
|
|
@@ -1914,14 +1919,12 @@ var Queue = class extends DisTubeBase {
|
|
|
1914
1919
|
* Remove the queue from the manager
|
|
1915
1920
|
*/
|
|
1916
1921
|
remove() {
|
|
1922
|
+
this.playing = false;
|
|
1923
|
+
this.paused = false;
|
|
1917
1924
|
this.stopped = true;
|
|
1918
1925
|
this.songs = [];
|
|
1919
1926
|
this.previousSongs = [];
|
|
1920
|
-
if (this._listeners)
|
|
1921
|
-
for (const event of objectKeys(this._listeners)) {
|
|
1922
|
-
this.voice.off(event, this._listeners[event]);
|
|
1923
|
-
}
|
|
1924
|
-
}
|
|
1927
|
+
if (this._listeners) for (const event of objectKeys(this._listeners)) this.voice.off(event, this._listeners[event]);
|
|
1925
1928
|
this.queues.remove(this.id);
|
|
1926
1929
|
this.emit("deleteQueue" /* DELETE_QUEUE */, this);
|
|
1927
1930
|
}
|
|
@@ -2291,7 +2294,7 @@ var DisTube = class extends import_tiny_typed_emitter3.TypedEmitter {
|
|
|
2291
2294
|
throw new DisTubeError("INVALID_TYPE", "Discord.GuildMember", member, "options.member");
|
|
2292
2295
|
}
|
|
2293
2296
|
const queue = this.getQueue(voiceChannel) || await this.queues.create(voiceChannel, textChannel);
|
|
2294
|
-
await queue._taskQueue.queuing();
|
|
2297
|
+
await queue._taskQueue.queuing(true);
|
|
2295
2298
|
try {
|
|
2296
2299
|
this.debug(`[${queue.id}] Playing input: ${song}`);
|
|
2297
2300
|
const resolved = await this.handler.resolve(song, { member, metadata });
|
|
@@ -2327,6 +2330,7 @@ ${e.message}`;
|
|
|
2327
2330
|
}
|
|
2328
2331
|
throw e;
|
|
2329
2332
|
} finally {
|
|
2333
|
+
if (!queue.songs.length && !queue._taskQueue.hasPlayTask) queue.remove();
|
|
2330
2334
|
queue._taskQueue.resolve();
|
|
2331
2335
|
}
|
|
2332
2336
|
}
|
|
@@ -2503,7 +2507,7 @@ ${e.message}`;
|
|
|
2503
2507
|
};
|
|
2504
2508
|
|
|
2505
2509
|
// src/index.ts
|
|
2506
|
-
var version = "5.0.
|
|
2510
|
+
var version = "5.0.7";
|
|
2507
2511
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2508
2512
|
0 && (module.exports = {
|
|
2509
2513
|
BaseManager,
|