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):
|
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:
|
if min <= value <= max:
|
||||||
return value
|
return value
|
||||||
else:
|
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 re
|
||||||
|
|
||||||
import arguments
|
import arguments
|
||||||
|
|
||||||
import commands
|
import commands
|
||||||
import utils
|
import utils
|
||||||
|
|
||||||
@ -14,9 +13,7 @@ async def clear(message):
|
|||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"count",
|
"count",
|
||||||
type=int,
|
type=lambda c: arguments.range_type(c, min=1, max=1000),
|
||||||
choices=range(1, 1001),
|
|
||||||
metavar="[1-1000]",
|
|
||||||
help="amount of messages to delete",
|
help="amount of messages to delete",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
@ -38,6 +35,12 @@ async def clear(message):
|
|||||||
action="store_true",
|
action="store_true",
|
||||||
help="delete oldest messages first",
|
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)):
|
if not (args := await parser.parse_args(message, tokens)):
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -47,17 +50,20 @@ async def clear(message):
|
|||||||
c.append(re.match(r, m.content))
|
c.append(re.match(r, 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:
|
||||||
|
c.append(len(m.reactions) > 0)
|
||||||
return all(c)
|
return all(c)
|
||||||
|
|
||||||
message_count = len(
|
messages = len(
|
||||||
await message.channel.purge(
|
await message.channel.purge(
|
||||||
limit=args.count, check=check, oldest_first=args.oldest_first
|
limit=args.count, check=check, oldest_first=args.oldest_first
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await utils.reply(
|
await utils.reply(
|
||||||
message,
|
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:
|
except:
|
||||||
pass
|
pass
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
import functools
|
|
||||||
|
|
||||||
import arguments
|
import arguments
|
||||||
import commands
|
import commands
|
||||||
import utils
|
import utils
|
||||||
@ -25,8 +23,7 @@ async def queue_or_play(message):
|
|||||||
"-v",
|
"-v",
|
||||||
"--volume",
|
"--volume",
|
||||||
default=50,
|
default=50,
|
||||||
type=functools.partial(arguments.range_type, min=0, max=150),
|
type=lambda v: arguments.range_type(v, min=0, max=150),
|
||||||
metavar="[0-150]",
|
|
||||||
help="the volume level (0 - 150)",
|
help="the volume level (0 - 150)",
|
||||||
)
|
)
|
||||||
group.add_argument(
|
group.add_argument(
|
||||||
@ -227,8 +224,7 @@ async def volume(message):
|
|||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"volume",
|
"volume",
|
||||||
nargs="?",
|
nargs="?",
|
||||||
type=functools.partial(arguments.range_type, min=0, max=150),
|
type=lambda v: arguments.range_type(v, min=0, max=150),
|
||||||
metavar="[0-150]",
|
|
||||||
help="the volume level (0 - 150)",
|
help="the volume level (0 - 150)",
|
||||||
)
|
)
|
||||||
if not (args := await parser.parse_args(message, tokens)):
|
if not (args := await parser.parse_args(message, tokens)):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user