Extended Bans
Some list modes, such as channel mode b
(ban), take a <nick>!<user>@<host>
mask as their parameter. These list modes can be extended to support alternate forms of matching and actions. If prefixed with an !
then the behaviour is inverted.
Acting
Acting extended bans allow restricting actions that users can perform. Such actions can include preventing a user from speaking in a channel (requires the muteban module) or changing their nickname (requires the nonicks module). Acting extended bans can also be stacked with matching extended bans (see below).
Name | Character | Ban Syntax | Module | Description |
---|---|---|---|---|
blockinvite | A | [!]blockinvite:<mask> | allowinvite | Bans <mask> from using the /INVITE command. |
noctcp | C | [!]noctcp:<mask> | noctcp | Bans <mask> from sending messages that contain CTCPs. |
blockcolor | c | [!]blockcolor:<mask> | blockcolor | Bans <mask> from sending messages that contain IRC formatting codes. |
mute | m | [!]mute:<mask> | muteban | Bans <mask> from speaking in the channel. |
nonick | N | [!]nonick:<mask> | nonicks | Bans users matching <mask> from changing their nickname whilst in the channel. |
nokick | Q | [!]nokick:<mask> | nokicks | Bans privileged users matching <mask> from using the /KICK command. |
stripcolor | S | [!]stripcolor:<mask> | stripcolor | Strips IRC formatting codes from messages sent by users matching <mask>. |
nonotice | T | [!]nonotice:<mask> | nonotice | Bans <mask> from sending messages with the /NOTICE command. |
opmoderated | u | [!]opmoderated:<mask> | opmoderated | Bans <mask> from speaking to unprivileged users in the channel. |
Matching
Matching extended bans allow matching against extended user attributes such as connect class (requires the classban module) or TLS (SSL) fingerprint (requires the sslmodes module).
Name | Character | Ban Syntax | Module | Description |
---|---|---|---|---|
realmask | a | [!]realmask:<pattern> | realnameban | Checks whether users have a nick!user@host+real mask matching <pattern>. |
country | G | [!]country:<pattern> | geoban | Matches against the two letter country code for the country that users are connecting from. |
channel | j | [!]channel:<pattern> | channelban | Checks whether users are in a channel matching <pattern>. |
class | n | [!]class:<pattern> | classban | Checks whether users are in a connect class <pattern>. |
oper | o | [!]oper:<pattern> | operchans | Checks whether users are logged into a server operator account with a name matching <pattern>. |
opertype | O | [!]opertype:<pattern> | operchans | Checks whether users are logged into a server operator account with an operator type matching <pattern>. |
realname | r | [!]realname:<pattern> | realnameban | Checks whether users have a a real name matching <pattern>. |
account | R | [!]account:<pattern> | account | Checks whether users are logged into a services account matching <pattern>. |
server | s | [!]server:<pattern> | serverban | Checks whether users are on a server matching <pattern>. |
unauthed | U | [!]unauthed:<pattern> | account | Checks whether users matching <pattern> are not logged into a services account. |
gateway | w | [!]gateway:<pattern> | gateway | Matches against the name of the gateway that WebIRC users are connecting from. |
sslfp | z | [!]sslfp:<pattern> | sslmodes | Checks whether users have a TLS (SSL) client certificate with a fingerprint matching <pattern>. |