Compare commits

..

No commits in common. "286df890855410003c0a538c8bf8279cb18b1ab7" and "025e5fc653c7884d95588c16469b981df372ae60" have entirely different histories.

3 changed files with 12 additions and 47 deletions

View File

@ -1,7 +1,6 @@
import re import re
import arguments import arguments
import commands import commands
import utils import utils
@ -17,27 +16,14 @@ async def clear(message):
type=lambda c: arguments.range_type(c, min=1, max=1000), type=lambda c: arguments.range_type(c, min=1, max=1000),
help="amount of messages to delete", help="amount of messages to delete",
) )
group = parser.add_mutually_exclusive_group() parser.add_argument(
group.add_argument(
"-r", "-r",
"--regex", "--regex",
required=False, required=False,
help="delete messages with content matching this regex", help="delete messages with content matching this regex",
) )
group.add_argument(
"-c",
"--contains",
required=False,
help="delete messages with content containing this substring",
)
parser.add_argument( parser.add_argument(
"-i", "-i",
"--case-insensitive",
action="store_true",
help="ignore case sensitivity when deleting messages",
)
parser.add_argument(
"-a",
"--author-id", "--author-id",
type=int, type=int,
action="append", action="append",
@ -58,19 +44,10 @@ async def clear(message):
if not (args := await parser.parse_args(message, tokens)): if not (args := await parser.parse_args(message, tokens)):
return return
regex = None
if r := args.regex:
regex = re.compile(r, re.IGNORECASE if args.case_insensitive else 0)
def check(m): def check(m):
c = [] c = []
if regex: if r := args.regex:
c.append(regex.search(m.content)) c.append(re.match(r, m.content))
if s := args.contains:
if args.case_insensitive:
c.append(s.lower() in m.content.lower())
else:
c.append(s in m.content)
if i := args.author_id: if i := args.author_id:
c.append(m.author.id in i) c.append(m.author.id in i)
if args.reactions: if args.reactions:

View File

@ -44,12 +44,6 @@ async def queue_or_play(message):
action="store_true", action="store_true",
help="remove all queued songs", help="remove all queued songs",
) )
parser.add_argument(
"-n",
"--now",
action="store_true",
help="play the specified song immediately",
)
parser.add_argument( parser.add_argument(
"-t", "-t",
"--remove-title", "--remove-title",
@ -109,10 +103,6 @@ async def queue_or_play(message):
return return
queued = youtubedl.QueuedSong(player, message.author.id) queued = youtubedl.QueuedSong(player, message.author.id)
if args.now:
players[message.guild.id].queue_add_front(queued)
else:
players[message.guild.id].queue_add(queued) players[message.guild.id].queue_add(queued)
if ( if (
@ -121,9 +111,6 @@ async def queue_or_play(message):
): ):
await utils.reply(message, f"**0.** {queued.format()}") await utils.reply(message, f"**0.** {queued.format()}")
play_next(message) play_next(message)
elif args.now:
message.guild.voice_client.stop()
await utils.reply(message, f"**0.** {queued.format()}")
else: else:
await utils.reply( await utils.reply(
message, message,

View File

@ -58,9 +58,6 @@ class QueuedPlayer:
def queue_add(self, item): def queue_add(self, item):
self.queue.append(item) self.queue.append(item)
def queue_add_front(self, item):
self.queue.insert(0, item)
class QueuedSong: class QueuedSong:
def __init__(self, player, queuer): def __init__(self, player, queuer):
@ -74,12 +71,16 @@ class QueuedSong:
) )
def format_duration(self, duration: int) -> str: def format_duration(self, duration: int) -> str:
segments = []
hours, duration = divmod(duration, 3600) hours, duration = divmod(duration, 3600)
if hours > 0:
segments.append(hours)
minutes, duration = divmod(duration, 60) minutes, duration = divmod(duration, 60)
segments = [hours, minutes, duration] if minutes > 0:
if len(segments) == 3 and segments[0] == 0: segments.append(minutes)
del segments[0] if duration > 0:
return f"{':'.join(f'{s:0>2}' for s in segments)}" segments.append(duration)
return f"{':'.join(str(s) for s in segments)}"
def __reload_module__(): def __reload_module__():