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