Extended Bans
Extended Bans
Extended bans (extbans) are divided into two types:
- Matching extbans: These match on users in additional ways.
- Acting extbans: These restrict users in various ways beyond standard bans.
Some list modes, like channel mode `b` (ban), typically use a `<nick>!<user>@<host>` mask. These modes can be extended to support alternate forms of matching and actions.
To use an extban, set `+b <ban>` or `+e <ban>` with the extban mask instead of the usual nick!user@host mask to ban or exempt users. Ban exceptions on acting extbans prevent users from matching the extban or corresponding channel mode.
Matching extbans can also be used for invite exceptions by setting `+I <extban>`.
Acting Extended Bans
Acting extended bans restrict actions users can perform. These can include preventing a user from speaking in a channel (requires the `muteban` module) or from changing their nickname (requires the `nonicks` module). Acting extbans can also be combined with matching extbans.
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 capitalization. |
noctcp | C | C:<mask> | Bans <mask> from sending CTCP messages. |
blockcolor | c | c:<mask> | Bans <mask> from sending messages with IRC formatting codes. |
mute | m | m:<mask> | Bans <mask> from speaking in the channel. |
nonick | N | N:<mask> | Bans <mask> from changing their nickname in the channel. |
partmsg | p | p:<mask> | Bans <mask> from sending a `/PART` message. |
nokick | Q | Q:<mask> | Bans users from using the `/KICK` command if matching <mask>. |
stripcolor | S | S:<mask> | Strips IRC formatting codes from messages sent by <mask>. |
nonotice | T | T:<mask> | Bans <mask> from sending `/NOTICE` messages. |
A ban given to an Acting extban can either use a nick!user@host mask (unless otherwise specified), matched like a normal ban, or a Matching extban.
Additionally, a redirect ban is a special type of acting extban:
Name | Description |
---|---|
Redirect | `n!u@h#channel` will redirect the banned user to `#channel` when they try to join (requires the `banredirect` module). |
Matching Extended Bans
Matching extbans allow matching against extended user attributes, such as connection class (requires the `classban` module) or TLS (SSL) fingerprint (requires the `sslmodes` module).
Name | Character | Ban Syntax | Description |
---|---|---|---|
realmask | a | a:<pattern> | Matches nick!user@host+real mask against <pattern>. |
country | G | G:<pattern> | Matches the country code of the user's connection. |
channel | j | j:<pattern> | Checks if users are in a channel matching <pattern>. |
class | n | n:<pattern> | Checks if users are in a connect class matching <pattern>. |
oper | O | O:<pattern> | Checks if users are logged into an operator account matching <pattern>. |
realname | r | r:<pattern> | Checks if users have a real name matching <pattern>. |
account | R | R:<pattern> | Checks if users are logged into a services account matching <pattern>. |
server | s | s:<pattern> | Checks if users are on a server matching <pattern>. |
unauthed | U | U:<pattern> | Matches users not logged into a services account. |
gateway | w | w:<pattern> | Matches the name of the gateway WebIRC users are connecting from. |
sslfp | z | z:<pattern> | Checks if users have a TLS (SSL) client certificate with a fingerprint matching <pattern>. |
References
- [InspIRCd Documentation, Extended Bans](https://docs.inspircd.org/3/extended-bans/)