[Mod] Account for roles in mention spam (#5388)

Co-authored-by: Kowlin <10947836+Kowlin@users.noreply.github.com>
This commit is contained in:
Vexed 2022-10-20 17:56:40 +01:00 committed by GitHub
parent a90974d659
commit 3be22b683c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -46,12 +46,12 @@ class Events(MixinMeta):
mention_spam = await self.config.guild(guild).mention_spam.all()
if mention_spam["strict"]: # if strict is enabled
mentions = message.raw_mentions
mentions = len(message.raw_mentions) + len(message.raw_role_mentions)
else: # if not enabled
mentions = set(message.mentions)
mentions = len(set(message.mentions)) + len(set(message.role_mentions))
if mention_spam["ban"]:
if len(mentions) >= mention_spam["ban"]:
if mentions >= mention_spam["ban"]:
try:
await guild.ban(author, reason=_("Mention spam (Autoban)"))
except discord.HTTPException:
@ -75,7 +75,7 @@ class Events(MixinMeta):
return True
if mention_spam["kick"]:
if len(mentions) >= mention_spam["kick"]:
if mentions >= mention_spam["kick"]:
try:
await guild.kick(author, reason=_("Mention Spam (Autokick)"))
except discord.HTTPException:
@ -99,7 +99,7 @@ class Events(MixinMeta):
return True
if mention_spam["warn"]:
if len(mentions) >= mention_spam["warn"]:
if mentions >= mention_spam["warn"]:
try:
await author.send(_("Please do not mass mention people!"))
except (discord.HTTPException, discord.Forbidden):