muthera 1.0.8 → 1.0.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muthera",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "A simple Lavalink wrapper for Discord music bot. Forked from Niizuki.",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -117,13 +117,16 @@ class Player extends EventEmitter {
117
117
  )
118
118
  return fail();
119
119
 
120
- let track =
121
- response.tracks[
122
- Math.floor(Math.random() * Math.floor(response.tracks.length))
123
- ];
120
+ // Filter out the previous track to avoid immediate duplicate
121
+ const tracks = response.tracks.filter(
122
+ (t) => t.info.identifier !== player.previous.info.identifier
123
+ );
124
+
125
+ if (!tracks.length) return fail();
124
126
 
125
127
  if (this.connected) {
126
- this.queue.push(track);
128
+ // Push entire Mix playlist into queue
129
+ for (const t of tracks) this.queue.push(t);
127
130
  await this.play();
128
131
  } else {
129
132
  return fail();
@@ -148,13 +151,16 @@ class Player extends EventEmitter {
148
151
  )
149
152
  return fail();
150
153
 
151
- let track =
152
- response.tracks[
153
- Math.floor(Math.random() * Math.floor(response.tracks.length))
154
- ];
154
+ // Filter out the previous track to avoid immediate duplicate
155
+ const tracks = response.tracks.filter(
156
+ (t) => t.info.identifier !== player.previous.info.identifier
157
+ );
158
+
159
+ if (!tracks.length) return fail();
155
160
 
156
161
  if (this.connected) {
157
- this.queue.push(track);
162
+ // Push entire Mix playlist into queue
163
+ for (const t of tracks) this.queue.push(t);
158
164
  await this.play();
159
165
  } else {
160
166
  return fail();