me/here arguments

This commit is contained in:
klemek
2021-01-11 15:57:18 +01:00
parent 5563945dcc
commit bfe279095d
7 changed files with 24 additions and 14 deletions
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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"
+"```"
+2 -2
View File
@@ -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"
+2 -2
View File
@@ -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"
+"```"
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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