AntiMassMention Plugin

A cool plugin designed to assist you when dealing with mass mentions.

class antispam.plugins.MassMentionPunishment(member_id: int, guild_id: int, channel_id: int, is_overall_punishment: bool)

This dataclass is what is dispatched when someone should be punished for mention spam.

Parameters:
  • member_id (int) – The associated members id
  • channel_id (int) – The associated channels id
  • guild_id (int) – The associated guilds id
  • is_overall_punishment (bool) – If this is True, it means the user has exceeded total_mentions_before_punishment. Otherwise they have exceeded min_mentions_per_message

Notes

You shouldn’t be making instances of this.

class antispam.plugins.AntiMassMention(bot, handler: antispam.anti_spam_handler.AntiSpamHandler, *, total_mentions_before_punishment: int = 10, time_period: int = 15000, min_mentions_per_message: int = 5)

In order to check if you should punish someone, see the below code.

1
2
3
4
5
data = await AntiSpamHandler.propagate(message)
return_item: Union[dict, MassMentionPunishment] = data.after_invoke_extensions["AntiMassMention"]

if isinstance(return_item, MassMentionPunishment):
    # Punish for mention spam
__init__(bot, handler: antispam.anti_spam_handler.AntiSpamHandler, *, total_mentions_before_punishment: int = 10, time_period: int = 15000, min_mentions_per_message: int = 5)
Parameters:
  • bot – Our bot instance
  • handler (AntiSpamHandler) – Our AntiSpamHandler instance
  • total_mentions_before_punishment (int) – How many mentions within the time period before we punish the user Inclusive
  • time_period (int) – The time period valid for mentions Is in milliseconds
  • min_mentions_per_message (int) – The minimum amount of mentions in a message before a punishment is issued Inclusive
member = None
{
“total_mentions”: [
Tracking(),

]

}

propagate(message) → Union[dict, antispam.plugins.anti_mass_mention.MassMentionPunishment]

Manages and stores any mass mentions per users

Parameters:message – The message to interact with
Returns:
  • dict – A dictionary explaining what actions have been taken
  • MassMentionPunishment – Data surrounding the punishment you should be doing.