distube 5.2.0 → 5.2.1
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 +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.js +34 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1016,7 +1016,13 @@ declare class Queue extends DisTubeBase {
|
|
|
1016
1016
|
* @param time - Time in seconds
|
|
1017
1017
|
* @returns The guild queue
|
|
1018
1018
|
*/
|
|
1019
|
-
seek(time: number): Queue
|
|
1019
|
+
seek(time: number): Promise<Queue>;
|
|
1020
|
+
/**
|
|
1021
|
+
* Internal implementation of addRelatedSong without task queue protection.
|
|
1022
|
+
* Used by methods that already hold the task queue lock.
|
|
1023
|
+
* @internal
|
|
1024
|
+
*/
|
|
1025
|
+
_addRelatedSong(song?: Song): Promise<Song>;
|
|
1020
1026
|
/**
|
|
1021
1027
|
* Add a related song of the playing song to the queue
|
|
1022
1028
|
* @param song - The song to get related songs from. Defaults to the current playing song.
|
|
@@ -1282,7 +1288,7 @@ declare class DisTube extends TypedEmitter<TypedDisTubeEvents> {
|
|
|
1282
1288
|
* @returns Seeked queue
|
|
1283
1289
|
* @deprecated Use `distube.getQueue(guild).seek(time)` instead. Will be removed in v6.0.
|
|
1284
1290
|
*/
|
|
1285
|
-
seek(guild: GuildIdResolvable, time: number): Queue
|
|
1291
|
+
seek(guild: GuildIdResolvable, time: number): Promise<Queue>;
|
|
1286
1292
|
/**
|
|
1287
1293
|
* Emit error event
|
|
1288
1294
|
* @param error - error
|
package/dist/index.d.ts
CHANGED
|
@@ -1016,7 +1016,13 @@ declare class Queue extends DisTubeBase {
|
|
|
1016
1016
|
* @param time - Time in seconds
|
|
1017
1017
|
* @returns The guild queue
|
|
1018
1018
|
*/
|
|
1019
|
-
seek(time: number): Queue
|
|
1019
|
+
seek(time: number): Promise<Queue>;
|
|
1020
|
+
/**
|
|
1021
|
+
* Internal implementation of addRelatedSong without task queue protection.
|
|
1022
|
+
* Used by methods that already hold the task queue lock.
|
|
1023
|
+
* @internal
|
|
1024
|
+
*/
|
|
1025
|
+
_addRelatedSong(song?: Song): Promise<Song>;
|
|
1020
1026
|
/**
|
|
1021
1027
|
* Add a related song of the playing song to the queue
|
|
1022
1028
|
* @param song - The song to get related songs from. Defaults to the current playing song.
|
|
@@ -1282,7 +1288,7 @@ declare class DisTube extends TypedEmitter<TypedDisTubeEvents> {
|
|
|
1282
1288
|
* @returns Seeked queue
|
|
1283
1289
|
* @deprecated Use `distube.getQueue(guild).seek(time)` instead. Will be removed in v6.0.
|
|
1284
1290
|
*/
|
|
1285
|
-
seek(guild: GuildIdResolvable, time: number): Queue
|
|
1291
|
+
seek(guild: GuildIdResolvable, time: number): Promise<Queue>;
|
|
1286
1292
|
/**
|
|
1287
1293
|
* Emit error event
|
|
1288
1294
|
* @param error - error
|
package/dist/index.js
CHANGED
|
@@ -91,7 +91,7 @@ __export(index_exports, {
|
|
|
91
91
|
module.exports = __toCommonJS(index_exports);
|
|
92
92
|
|
|
93
93
|
// src/constant.ts
|
|
94
|
-
var version = "5.2.
|
|
94
|
+
var version = "5.2.1";
|
|
95
95
|
var AUDIO_SAMPLE_RATE = 48e3;
|
|
96
96
|
var AUDIO_CHANNELS = 2;
|
|
97
97
|
var DEFAULT_VOLUME = 50;
|
|
@@ -1053,7 +1053,7 @@ var Queue = class extends DisTubeBase {
|
|
|
1053
1053
|
if (position > 0) {
|
|
1054
1054
|
if (position >= this.songs.length) {
|
|
1055
1055
|
if (this.autoplay) {
|
|
1056
|
-
await this.
|
|
1056
|
+
await this._addRelatedSong();
|
|
1057
1057
|
} else {
|
|
1058
1058
|
throw new DisTubeError("NO_UP_NEXT");
|
|
1059
1059
|
}
|
|
@@ -1096,12 +1096,17 @@ var Queue = class extends DisTubeBase {
|
|
|
1096
1096
|
* @param time - Time in seconds
|
|
1097
1097
|
* @returns The guild queue
|
|
1098
1098
|
*/
|
|
1099
|
-
seek(time) {
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1099
|
+
async seek(time) {
|
|
1100
|
+
await this._taskQueue.queuing();
|
|
1101
|
+
try {
|
|
1102
|
+
if (typeof time !== "number") throw new DisTubeError("INVALID_TYPE", "number", time, "time");
|
|
1103
|
+
if (Number.isNaN(time) || time < 0) throw new DisTubeError("NUMBER_COMPARE", "time", "bigger or equal to", 0);
|
|
1104
|
+
this._beginTime = time;
|
|
1105
|
+
await this.play(false);
|
|
1106
|
+
return this;
|
|
1107
|
+
} finally {
|
|
1108
|
+
this._taskQueue.resolve();
|
|
1109
|
+
}
|
|
1105
1110
|
}
|
|
1106
1111
|
async #getRelatedSong(current) {
|
|
1107
1112
|
const plugin = await this.handler._getPluginFromSong(current);
|
|
@@ -1109,11 +1114,11 @@ var Queue = class extends DisTubeBase {
|
|
|
1109
1114
|
return [];
|
|
1110
1115
|
}
|
|
1111
1116
|
/**
|
|
1112
|
-
*
|
|
1113
|
-
*
|
|
1114
|
-
* @
|
|
1117
|
+
* Internal implementation of addRelatedSong without task queue protection.
|
|
1118
|
+
* Used by methods that already hold the task queue lock.
|
|
1119
|
+
* @internal
|
|
1115
1120
|
*/
|
|
1116
|
-
async
|
|
1121
|
+
async _addRelatedSong(song) {
|
|
1117
1122
|
const current = song ?? this.songs?.[0];
|
|
1118
1123
|
if (!current) throw new DisTubeError("NO_PLAYING_SONG");
|
|
1119
1124
|
const prevIds = this.previousSongs.map((p) => p.id);
|
|
@@ -1131,6 +1136,19 @@ var Queue = class extends DisTubeBase {
|
|
|
1131
1136
|
this.addToQueue(nextSong);
|
|
1132
1137
|
return nextSong;
|
|
1133
1138
|
}
|
|
1139
|
+
/**
|
|
1140
|
+
* Add a related song of the playing song to the queue
|
|
1141
|
+
* @param song - The song to get related songs from. Defaults to the current playing song.
|
|
1142
|
+
* @returns The added song
|
|
1143
|
+
*/
|
|
1144
|
+
async addRelatedSong(song) {
|
|
1145
|
+
await this._taskQueue.queuing();
|
|
1146
|
+
try {
|
|
1147
|
+
return await this._addRelatedSong(song);
|
|
1148
|
+
} finally {
|
|
1149
|
+
this._taskQueue.resolve();
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1134
1152
|
/**
|
|
1135
1153
|
* Stop the guild stream and delete the queue
|
|
1136
1154
|
*/
|
|
@@ -2041,7 +2059,7 @@ var QueueManager = class extends GuildIdManager {
|
|
|
2041
2059
|
if (queue.songs.length === 0 && queue.autoplay) {
|
|
2042
2060
|
try {
|
|
2043
2061
|
this.debug(`[QueueManager] Adding related song: ${queue.id}`);
|
|
2044
|
-
await queue.
|
|
2062
|
+
await queue._addRelatedSong(song);
|
|
2045
2063
|
} catch (e) {
|
|
2046
2064
|
const errorMessage = e instanceof Error ? e.message : String(e);
|
|
2047
2065
|
this.debug(`[${queue.id}] Add related song error: ${errorMessage}`);
|
|
@@ -2321,16 +2339,16 @@ var DisTube = class extends import_tiny_typed_emitter3.TypedEmitter {
|
|
|
2321
2339
|
if (!resolved.songs.length) throw new DisTubeError("EMPTY_PLAYLIST");
|
|
2322
2340
|
this.debug(`[${queue.id}] Adding playlist to queue: ${resolved.songs.length} songs`);
|
|
2323
2341
|
queue.addToQueue(resolved.songs, position);
|
|
2324
|
-
if (queue.
|
|
2342
|
+
if (!queue.stopped || this.options.emitAddListWhenCreatingQueue) this.emit("addList" /* ADD_LIST */, queue, resolved);
|
|
2325
2343
|
} else {
|
|
2326
2344
|
if (!this.options.nsfw && resolved.ageRestricted && !isNsfwChannel(queue?.textChannel || textChannel)) {
|
|
2327
2345
|
throw new DisTubeError("NON_NSFW");
|
|
2328
2346
|
}
|
|
2329
2347
|
this.debug(`[${queue.id}] Adding song to queue: ${resolved.name || resolved.url || resolved.id || resolved}`);
|
|
2330
2348
|
queue.addToQueue(resolved, position);
|
|
2331
|
-
if (queue.
|
|
2349
|
+
if (!queue.stopped || this.options.emitAddSongWhenCreatingQueue) this.emit("addSong" /* ADD_SONG */, queue, resolved);
|
|
2332
2350
|
}
|
|
2333
|
-
if (
|
|
2351
|
+
if (queue.stopped) await queue.play();
|
|
2334
2352
|
else if (skip) await queue.skip();
|
|
2335
2353
|
} catch (e) {
|
|
2336
2354
|
if (!(e instanceof DisTubeError)) {
|