Compare commits
2 Commits
b6d105a519
...
f4b7e0f5ce
Author | SHA1 | Date | |
---|---|---|---|
f4b7e0f5ce | |||
1316fb593c |
@ -15,9 +15,6 @@ from .utils import command_allowed, ensure_joined, play_next
|
|||||||
|
|
||||||
|
|
||||||
async def queue_or_play(message, edited=False):
|
async def queue_or_play(message, edited=False):
|
||||||
if message.guild.id not in players:
|
|
||||||
players[message.guild.id] = audio.queue.Player()
|
|
||||||
|
|
||||||
tokens = commands.tokenize(message.content)
|
tokens = commands.tokenize(message.content)
|
||||||
parser = arguments.ArgumentParser(
|
parser = arguments.ArgumentParser(
|
||||||
tokens[0],
|
tokens[0],
|
||||||
@ -81,19 +78,23 @@ async def queue_or_play(message, edited=False):
|
|||||||
elif not command_allowed(message):
|
elif not command_allowed(message):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if message.guild.id not in players:
|
||||||
|
players[message.guild.id] = audio.queue.Player()
|
||||||
|
|
||||||
if edited:
|
if edited:
|
||||||
found = None
|
found = next(
|
||||||
for queued in players[message.guild.id].queue:
|
filter(
|
||||||
if queued.trigger_message.id == message.id:
|
lambda queued: queued.trigger_message.id == message.id,
|
||||||
found = queued
|
players[message.guild.id].queue,
|
||||||
break
|
),
|
||||||
|
None,
|
||||||
|
)
|
||||||
if found:
|
if found:
|
||||||
players[message.guild.id].queue.remove(found)
|
players[message.guild.id].queue.remove(found)
|
||||||
|
|
||||||
if args.clear:
|
if args.clear:
|
||||||
players[message.guild.id].queue.clear()
|
players[message.guild.id].queue.clear()
|
||||||
await utils.add_check_reaction(message)
|
await utils.add_check_reaction(message)
|
||||||
return
|
|
||||||
elif indices := args.remove_index:
|
elif indices := args.remove_index:
|
||||||
targets = []
|
targets = []
|
||||||
for i in indices:
|
for i in indices:
|
||||||
@ -114,15 +115,15 @@ async def queue_or_play(message, edited=False):
|
|||||||
f"removed **{len(targets)}** queued {'song' if len(targets) == 1 else 'songs'}",
|
f"removed **{len(targets)}** queued {'song' if len(targets) == 1 else 'songs'}",
|
||||||
)
|
)
|
||||||
elif args.remove_title or args.remove_queuer:
|
elif args.remove_title or args.remove_queuer:
|
||||||
targets = []
|
targets = set()
|
||||||
for queued in players[message.guild.id].queue:
|
for queued in players[message.guild.id].queue:
|
||||||
if t := args.remove_title:
|
if t := args.remove_title:
|
||||||
if t in queued.player.title:
|
if t in queued.player.title:
|
||||||
targets.append(queued)
|
targets.add(queued)
|
||||||
continue
|
|
||||||
if q := args.remove_queuer:
|
if q := args.remove_queuer:
|
||||||
if q == queued.trigger_message.author.id:
|
if q == queued.trigger_message.author.id:
|
||||||
targets.append(queued)
|
targets.add(queued)
|
||||||
|
targets = list(targets)
|
||||||
if not args.match_multiple:
|
if not args.match_multiple:
|
||||||
targets = targets[:1]
|
targets = targets[:1]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user