Extended Bans
Extended Bans
Extended Bans
Extbans are split into two types; matching extbans, which match on users in additional ways, and acting extbans, which restrict users in different ways to a standard ban.
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.
To use an extban, simply set +b <ban>
or +e <ban>
with it as the ban, instead of a normal nick!user@host mask, to ban or exempt matching users. Ban exceptions on acting extbans exempt that user from matching an extban of that type, and from any channel mode corresponding to the restriction. Matching extbans may also be used for invite exceptions by setting +I <extban>
.
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 | Description |
---|---|---|---|
blockinvite | A | A:<mask> |
Bans <mask> from using the /INVITE command. |
blockcaps | B | B:<mask> |
Bans <mask> from sending messages with excessive capitalisation. |
noctcp | C | C:<mask> |
Bans <mask> from sending messages that contain CTCPs. |
blockcolor | c | c:<mask> |
Bans <mask> from sending messages that contain IRC formatting codes. |
mute | m | m:<mask> |
Bans <mask> from speaking in the channel. |
nonick | N | N:<mask> |
Bans users matching <mask> from changing their nickname whilst in the channel. |
partmsg | p | p:<mask> |
Bans <mask> from sending a /PART message. |
nokick | Q | Q:<mask> |
Bans privileged users matching <mask> from using the /KICK command. |
stripcolor | S | S:<mask> |
Strips IRC formatting codes from messages sent by users matching <mask> . |
nonotice | T | T:<mask> |
Bans <mask> from sending messages with the /NOTICE command. |
A ban given to an Acting extban may either be a nick!user@host mask (unless stated otherwise), matched against users as for a normal ban, or a Matching extban.
There is an additional special type of extended ban, a redirect ban:
Name | Description |
---|---|
Redirect | n!u@h#channel will redirect the banned user to #channel when they try to join (requires the banredirect module). |
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 | Description |
---|---|---|---|
realmask | a | a:<pattern> |
Checks whether users have a nick!user@host+real mask matching <pattern> . |
country | G | G:<pattern> |
Matches against the two letter country code for the country that users are connecting from. |
channel | j | j:<pattern> |
Checks whether users are in a channel matching <pattern> . |
class | n | n:<pattern> |
Checks whether users are in a connect class <pattern> . |
oper | O | O:<pattern> |
Checks whether users are logged into a server operator account with an operator type matching <pattern> . |
realname | r | r:<pattern> |
Checks whether users have a a real name (gecos) matching <pattern> . |
account | R | R:<pattern> |
Checks whether users are logged into a services account matching <pattern> . |
server | s | s:<pattern> |
Checks whether users are on a server matching <pattern> . |
unauthed | U | U:<pattern> |
Checks whether users matching <pattern> are not logged into a services account. |
gateway | w | w:<pattern> |
Matches against the name of the gateway that WebIRC users are connecting from. |
sslfp | z | z:<pattern> |
Checks whether users have a TLS (SSL) client certificate with a fingerprint matching <pattern> . |
References:
- InspIRCd Documentation, Extended Bans:
https://docs.inspircd.org/3/extended-bans/.