parent
dc68644b08
commit
fdf4a592d0
3 changed files with 25 additions and 1 deletions
|
@ -508,6 +508,20 @@ class Player extends EventEmitter {
|
|||
return queue.repeatMode
|
||||
}
|
||||
|
||||
/**
|
||||
* Set loop mode, to play the queue again and again
|
||||
* @param {Discord.Message} message
|
||||
*/
|
||||
async setLoopMode (message, enabled) {
|
||||
// Get guild queue
|
||||
const queue = this.queues.get(message.guild.id)
|
||||
if (!queue) return this.emit('error', 'NotPlaying', message)
|
||||
// Enable/Disable loop mode
|
||||
queue.loopMode = enabled
|
||||
// Return the repeat mode
|
||||
return queue.loopMode
|
||||
}
|
||||
|
||||
/**
|
||||
* Shuffle the queue of the server.
|
||||
* @param {Discord.Message} message
|
||||
|
@ -697,7 +711,10 @@ class Player extends EventEmitter {
|
|||
return this.emit('queueEnd', queue.firstMessage, queue)
|
||||
}
|
||||
// if the track needs to be the next one
|
||||
if (!queue.repeatMode && !firstPlay) queue.tracks.shift()
|
||||
if (!queue.repeatMode && !firstPlay) {
|
||||
const oldTrack = queue.tracks.shift()
|
||||
if (queue.loopMode) queue.tracks.push(oldTrack) // add the track at the end of the queue
|
||||
}
|
||||
const track = queue.playing
|
||||
// Reset lastSkipped state
|
||||
queue.lastSkipped = false
|
||||
|
|
|
@ -60,6 +60,11 @@ class Queue extends EventEmitter {
|
|||
* @type {boolean}
|
||||
*/
|
||||
this.repeatMode = false
|
||||
/**
|
||||
* Whether the loop mode is enabled.
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.loopMode = false
|
||||
/**
|
||||
* Filters status
|
||||
* @type {Filters}
|
||||
|
|
2
typings/index.d.ts
vendored
2
typings/index.d.ts
vendored
|
@ -35,6 +35,7 @@ declare module 'discord-player' {
|
|||
public skip(message: Message): void;
|
||||
public nowPlaying(message: Message): Track;
|
||||
public setRepeatMode(message: Message): boolean;
|
||||
public setLoopMode(message: Message, enabled: boolean): boolean
|
||||
public shuffle(message: Message): Queue;
|
||||
public remove(message: Message, trackOrPosition: Track|number): Track;
|
||||
public createProgressBar(message: Message, progressBarOptions: ProgressBarOptions): string;
|
||||
|
@ -94,6 +95,7 @@ declare module 'discord-player' {
|
|||
public volume: number;
|
||||
public paused: boolean;
|
||||
public repeatMode: boolean;
|
||||
public loopMode: boolean;
|
||||
public filters: FiltersStatuses;
|
||||
public firstMessage: Message;
|
||||
private additionalStreamTime: number;
|
||||
|
|
Loading…
Reference in a new issue