Spam Plugin
The spam plugin allows administrators and moderators to limit spam and enforce punishments on spammers. The plugin can be used to limit mass sending of:
- General Spam
- Mentions
- Links
- Attachments
- Emojis
- Newlines
- Duplicate Messages
Configuration Options
Option | Description | Type | Default |
---|---|---|---|
levels | A mapping of levels to Spam Configurations. This will match any user with a level that is equal or lower | Dict | Empty |
roles | A mapping of roles to Spam Configurations. This will match any user with a certain role | Dict | Empty |
channels | A mapping of channels to Spam Configurations. Acts the same as roles and levels | Dict | Empty |
ignored_channels | A list of channels the spam plugin will ignore no matter what is set. | List | Empty |
Spam Configuration
Option | Description | Type | Default |
---|---|---|---|
punishment | Sets which action is performed when the spam filter is triggered. Options are: NONE , MUTE , TEMPMUTE , BAN , TEMPBAN , KICK |
Str | None |
punishment_duration | Required for TEMPBAN and TEMPMUTE punishments and determines how many seconds a punishment should last |
Int | 300 |
count | How many times an action should be performed for it to trigger the filter | Int | ??? |
interval | Time period within which the count of actions should be performed to trigger the filter |
Int | ??? |
max_messages | Total number of messages that can be sent | Dict | Empty |
max_mentions | How many user mentions can be sent | Dict | Empty |
max_links | How many links can be sent | Dict | Empty |
max_attachments | How many attachments can be sent | Dict | Empty |
max_emojis | How many emojis can be sent | Dict | Empty |
max_newlines | How many new lines/line breaks can be sent | Dict | Empty |
max_duplicates | How many duplicate messages can be sent | Dict | Empty |
clean | Whether or not the offending messages which triggered spam detection should be deleted | Bool | False |
clean_count | Maximum number of messages to be deleted | Int | 100 |
clean_duration | Maximum duration (in seconds) for which to delete messages | Int | 900 |
Configuration Example
spam:
levels:
0:
punishment: TEMPMUTE
punishment_duration: 120
clean: true
clean_count: 50
clean_duration: 500
max_messages:
count: 10
interval: 7
max_mentions:
count: 8
interval: 30
max_links:
count: 10
interval: 60
max_attachments:
count: 10
interval: 60
max_emojis:
count: 100
interval: 120
max_newlines:
count: 60
interval: 120
max_duplicates:
count: 5
interval: 30
ignored_channels: [00000000000000, 00000000000000]