me/here arguments
This commit is contained in:
@@ -10,8 +10,8 @@ When you need statistics about your discord server
|
||||
* `%info` - version and uptime
|
||||
* `%emotes` : Rank emotes by their usage
|
||||
* arguments:
|
||||
* @member : filter for one or more member
|
||||
* #channel : filter for one or more channel
|
||||
* @member/me : filter for one or more member
|
||||
* #channel/here : filter for one or more channel
|
||||
* <n> : top <n> emojis, default is 20
|
||||
* all : list all common emojis in addition to this guild's
|
||||
* members : show top member for each emote
|
||||
|
||||
@@ -17,8 +17,8 @@ class CompositionScanner(Scanner):
|
||||
return "```\n"
|
||||
+"%comp : Show composition statistics\n"
|
||||
+"arguments:\n"
|
||||
+"* @member : filter for one or more member\n"
|
||||
+"* #channel : filter for one or more channel\n"
|
||||
+"* @member/me : filter for one or more member\n"
|
||||
+"* #channel/here : filter for one or more channel\n"
|
||||
+"Example: %comp #mychannel1 @user\n"
|
||||
+"```"
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ class EmotesScanner(Scanner):
|
||||
return "```\n"
|
||||
+"%emotes : Rank emotes by their usage\n"
|
||||
+"arguments:\n"
|
||||
+"* @member : filter for one or more member\n"
|
||||
+"* #channel : filter for one or more channel\n"
|
||||
+"* @member/me : filter for one or more member\n"
|
||||
+"* #channel/here : filter for one or more channel\n"
|
||||
+"* <n> : top <n> emojis, default is 20\n"
|
||||
+"* all : list all common emojis in addition to this guild's\n"
|
||||
+"* members : show top member for each emote\n"
|
||||
|
||||
@@ -16,8 +16,8 @@ class FrequencyScanner(Scanner):
|
||||
return "```\n"
|
||||
+"%freq : Show frequency-related statistics\n"
|
||||
+"arguments:\n"
|
||||
+"* @member : filter for one or more member\n"
|
||||
+"* #channel : filter for one or more channel\n"
|
||||
+"* @member/me : filter for one or more member\n"
|
||||
+"* #channel/here : filter for one or more channel\n"
|
||||
+"Example: %freq #mychannel1 @user\n"
|
||||
+"```"
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ class FullScanner(Scanner):
|
||||
return "```\n"
|
||||
+"%full : Show full statistics\n"
|
||||
+"arguments:\n"
|
||||
+"* @member : filter for one or more member\n"
|
||||
+"* #channel : filter for one or more channel\n"
|
||||
+"* @member/me : filter for one or more member\n"
|
||||
+"* #channel/here : filter for one or more channel\n"
|
||||
+"Example: %full #mychannel1 @user\n"
|
||||
+"```"
|
||||
|
||||
@@ -61,6 +61,6 @@ class FullScanner(Scanner):
|
||||
res += ["__Other__:"]
|
||||
res += self.other.to_string(
|
||||
show_top_channel=len(self.channels) > 1,
|
||||
show_mentioned=(len(self.members) != 1),
|
||||
show_mentioned=(len(self.members) > 0),
|
||||
)
|
||||
return res
|
||||
|
||||
@@ -16,8 +16,8 @@ class OtherScanner(Scanner):
|
||||
return "```\n"
|
||||
+"%other : Show other statistics\n"
|
||||
+"arguments:\n"
|
||||
+"* @member : filter for one or more member\n"
|
||||
+"* #channel : filter for one or more channel\n"
|
||||
+"* @member/me : filter for one or more member\n"
|
||||
+"* #channel/here : filter for one or more channel\n"
|
||||
+"Example: %other #mychannel1 @user\n"
|
||||
+"```"
|
||||
|
||||
|
||||
+11
-1
@@ -44,7 +44,7 @@ class Scanner(ABC):
|
||||
str_mentions = [member.mention for member in message.mentions]
|
||||
for arg in args[1:]:
|
||||
if (
|
||||
arg not in self.valid_args
|
||||
arg not in self.valid_args + ["me", "here"]
|
||||
and (not arg.isdigit() or not self.has_digit_args)
|
||||
and arg not in str_channel_mentions
|
||||
and arg not in str_mentions
|
||||
@@ -56,6 +56,11 @@ class Scanner(ABC):
|
||||
|
||||
# Get selected channels or all of them if no channel arguments
|
||||
self.channels = no_duplicate(message.channel_mentions)
|
||||
|
||||
# transform the "here" arg
|
||||
if "here" in args:
|
||||
self.channels += [message.channel]
|
||||
|
||||
self.full = len(self.channels) == 0
|
||||
if self.full:
|
||||
self.channels = guild.text_channels
|
||||
@@ -64,6 +69,11 @@ class Scanner(ABC):
|
||||
self.members = no_duplicate(message.mentions)
|
||||
self.raw_members = no_duplicate(message.raw_mentions)
|
||||
|
||||
# transform the "me" arg
|
||||
if "me" in args:
|
||||
self.members += [message.author]
|
||||
self.raw_members += [message.author.id]
|
||||
|
||||
if not await self.init(message, *args):
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user