The "messageflood" Module (v4)
Description
This module adds channel mode f (flood) which helps protect against spammers which mass-message channels.
Configuration
To load this module use the following <module> tag:
<module name="messageflood">
<messageflood>
The <messageflood> tag defines settings about how the messageflood module should behave. This tag can only be defined once.
| Name | Type | Default Value | Description |
|---|---|---|---|
| extended | Boolean | No | Whether to use the extended mode for actions. This allows punishing users with more than just kicking and kickbanning. |
| message | String | Message flood detected (trigger is %messages% messages in %duration%) (4.0.0 to 4.8.0) Message flood detected (trigger is %messages% messages in %duration.long%) (since 4.9.0) | The message to use when punishing users that hit the message flood trigger. |
| resetonhit | Boolean | Opposite of <messageflood:extended> | New in v4.9.0! Whether to reset the flood counter after a user is punished. |
| notice | Decimal | 1.0 | The number of lines that a single NOTICE message is equivalent to. |
| privmsg | Decimal | 1.0 | The number of lines that a single PRIVMSG message is equivalent to. |
| tagmsg | Decimal | 0.1 (since 4.9.0) 0.2 (4.0.0 to 4.8.0) | The number of lines that a single TAGMSG message is equivalent to. This should be lower than the other commands to avoid users being kicked by automated client features such as typing notifications. |
The kickmessage field can contain any of the following template variables:
| Variable | Description |
|---|---|
| %duration% | The seconds from the mode value as a duration. |
| %duration.long% | New in v4.9.0! The seconds from the mode value as a long duration. |
| %messages% | The message count from the mode value. |
| %seconds% | The seconds from the mode value. |
Example Usage
<messageflood extended="yes"
message="Message flood detected (trigger is %lines% messages in %duration.long%)"
notice="1.0"
privmsg="1.0"
tagmsg="0.2">
Channel Modes
| Name | Character | Type | Parameter Syntax | Usable By | Description |
|---|---|---|---|---|---|
| flood | f | Parameter | [*]<lines>:<seconds>{ban|block|mute|kick|kickban}:<messages>:<duration> | Channel operators | Kicks users who send more than <messages> messages in the last <duration>. If prefixed with * then offending users are also banned. |
Example Usage
Prevents more than four messages in the last two seconds:
/MODE #channel +f 4:2
Exemptions
| Name | Description |
|---|---|
| flood | Allows exempted users to send messages at a higher rate than channel mode f (flood) allows. |