Compare commits
3 Commits
333d6890c2
...
32817f735e
Author | SHA1 | Date | |
---|---|---|---|
32817f735e | |||
e032d04157 | |||
1a71d83ebd |
@ -35,8 +35,12 @@ class ArgumentParser:
|
||||
|
||||
|
||||
def range_type(string, min=0, max=100):
|
||||
value = int(string)
|
||||
try:
|
||||
value = int(string)
|
||||
except ValueError:
|
||||
raise argparse.ArgumentTypeError(f"value not a valid integer")
|
||||
|
||||
if min <= value <= max:
|
||||
return value
|
||||
else:
|
||||
raise argparse.ArgumentTypeError("value not in range %s-%s" % (min, max))
|
||||
raise argparse.ArgumentTypeError(f"value not in range {min}-{max}")
|
||||
|
@ -1,7 +1,6 @@
|
||||
import re
|
||||
|
||||
import arguments
|
||||
|
||||
import commands
|
||||
import utils
|
||||
|
||||
@ -14,9 +13,7 @@ async def clear(message):
|
||||
)
|
||||
parser.add_argument(
|
||||
"count",
|
||||
type=int,
|
||||
choices=range(1, 1001),
|
||||
metavar="[1-1000]",
|
||||
type=lambda c: arguments.range_type(c, min=1, max=1000),
|
||||
help="amount of messages to delete",
|
||||
)
|
||||
parser.add_argument(
|
||||
@ -38,6 +35,12 @@ async def clear(message):
|
||||
action="store_true",
|
||||
help="delete oldest messages first",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-R",
|
||||
"--reactions",
|
||||
action="store_true",
|
||||
help="delete messages with reactions",
|
||||
)
|
||||
if not (args := await parser.parse_args(message, tokens)):
|
||||
return
|
||||
|
||||
@ -47,17 +50,20 @@ async def clear(message):
|
||||
c.append(re.match(r, m.content))
|
||||
if i := args.author_id:
|
||||
c.append(m.author.id in i)
|
||||
if args.reactions:
|
||||
c.append(len(m.reactions) > 0)
|
||||
return all(c)
|
||||
|
||||
message_count = len(
|
||||
messages = len(
|
||||
await message.channel.purge(
|
||||
limit=args.count, check=check, oldest_first=args.oldest_first
|
||||
)
|
||||
)
|
||||
|
||||
try:
|
||||
await utils.reply(
|
||||
message,
|
||||
f"purged **{message_count} {'message' if message_count == 1 else 'messages'}**",
|
||||
f"purged **{messages}/{args.count} {'message' if args.count == 1 else 'messages'}**",
|
||||
)
|
||||
except:
|
||||
pass
|
||||
|
@ -1,5 +1,3 @@
|
||||
import functools
|
||||
|
||||
import arguments
|
||||
import commands
|
||||
import utils
|
||||
@ -25,8 +23,7 @@ async def queue_or_play(message):
|
||||
"-v",
|
||||
"--volume",
|
||||
default=50,
|
||||
type=functools.partial(arguments.range_type, min=0, max=150),
|
||||
metavar="[0-150]",
|
||||
type=lambda v: arguments.range_type(v, min=0, max=150),
|
||||
help="the volume level (0 - 150)",
|
||||
)
|
||||
group.add_argument(
|
||||
@ -227,8 +224,7 @@ async def volume(message):
|
||||
parser.add_argument(
|
||||
"volume",
|
||||
nargs="?",
|
||||
type=functools.partial(arguments.range_type, min=0, max=150),
|
||||
metavar="[0-150]",
|
||||
type=lambda v: arguments.range_type(v, min=0, max=150),
|
||||
help="the volume level (0 - 150)",
|
||||
)
|
||||
if not (args := await parser.parse_args(message, tokens)):
|
||||
|
Loading…
x
Reference in New Issue
Block a user