Update shuffle command
This commit is contained in:
@@ -651,12 +651,8 @@ class Basic(commands.Cog):
|
||||
pass
|
||||
else:
|
||||
return await ctx.send(player.get_msg('shuffleVote').format(ctx.author, len(player.skip_votes), required))
|
||||
replacement = player.queue.tracks()
|
||||
if len(replacement) < 3:
|
||||
return await ctx.send(player.get_msg('shuffleError'))
|
||||
shuffle(replacement)
|
||||
player.queue.replace("Queue", replacement)
|
||||
player.shuffle_votes.clear()
|
||||
|
||||
player.shuffle("queue")
|
||||
await ctx.send(player.get_msg('shuffled'))
|
||||
|
||||
@commands.hybrid_command(name="swap", aliases=get_aliases("swap"))
|
||||
|
||||
@@ -55,6 +55,7 @@ from .filters import Filter, Filters
|
||||
from .objects import Track
|
||||
from .pool import Node, NodePool
|
||||
from .queue import Queue, FairQueue
|
||||
from random import shuffle
|
||||
|
||||
class Player(VoiceProtocol):
|
||||
"""The base player class for Voicelink.
|
||||
@@ -555,6 +556,14 @@ class Player(VoiceProtocol):
|
||||
self._volume = volume
|
||||
return self._volume
|
||||
|
||||
async def shuffle(self, queue_type: str, requester: Member = None):
|
||||
replacement = self.queue.tracks() if queue_type == "queue" else self.queue.history()
|
||||
if len(replacement) < 3:
|
||||
return VoicelinkException(self.get_msg('shuffleError'))
|
||||
|
||||
shuffle(replacement)
|
||||
self.queue.replace(queue_type, replacement)
|
||||
self.shuffle_votes.clear()
|
||||
async def add_filter(self, filter: Filter, fast_apply=False) -> Filters:
|
||||
try:
|
||||
self._filters.add_filter(filter=filter)
|
||||
|
||||
@@ -111,11 +111,11 @@ class Queue:
|
||||
def clear(self):
|
||||
del self._queue[self._position:]
|
||||
|
||||
def replace(self, queuetype:str, replacement:list):
|
||||
if queuetype == "Queue":
|
||||
def replace(self, queue_type:str, replacement:list):
|
||||
if queue_type == "queue":
|
||||
self.clear()
|
||||
self._queue += replacement
|
||||
elif queuetype == "History":
|
||||
elif queue_type == "history":
|
||||
self._queue[:self._position] = replacement
|
||||
|
||||
def swap(self, num1:int, num2:int):
|
||||
|
||||
Reference in New Issue
Block a user