InspIRCd v4 is still early in development!
If you use this branch you may experience crashes, weird behaviour, and unannounced breaking changes.
You probably want to use InspIRCd v3 instead.
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.
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 | A:<mask> | allowinvite | Bans <mask> from using the /INVITE command. |
blockcolor | c | c:<mask> | blockcolor | Bans <mask> from sending messages that contain IRC formatting codes. |
noctcp | C | C:<mask> | noctcp | Bans <mask> from sending messages that contain CTCPs. |
mute | m | m:<mask> | muteban | Bans <mask> from speaking in the channel. |
nonick | N | N:<mask> | nonicks | Bans users matching <mask> from changing their nickname whilst in the channel. |
partmsg | p | p:<mask> | nopartmsg | Bans <mask> from sending a /PART message. |
nokick | Q | Q:<mask> | nokicks | Bans privileged users matching <mask> from using the /KICK command. |
stripcolor | S | S:<mask> | stripcolor | Strips IRC formatting codes from messages sent by users matching <mask>. |
nonotice | T | T:<mask> | nonotice | Bans <mask> from sending messages with the /NOTICE command. |
opmoderated | u | A:<mask> | allowinvite | 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 | a:<pattern> | realnameban | Checks whether users have a nick!user@host+real mask matching <pattern>. |
country | G | G:<pattern> | geoban | Matches against the two letter country code for the country that users are connecting from. |
channel | j | j:<pattern> | channelban | Checks whether users are in a channel matching <pattern>. |
class | n | n:<pattern> | classban | Checks whether users are in a connect class <pattern>. |
oper | O | O:<pattern> | operchans | Checks whether users are logged into a server operator account matching <pattern>. |
realname | r | r:<pattern> | realnameban | Checks whether users have a a real name matching <pattern>. |
account | R | R:<pattern> | account | Checks whether users are logged into a services account matching <pattern>. |
server | s | s:<pattern> | serverban | Checks whether users are on a server matching <pattern>. |
unauthed | U | U:<pattern> | account | Checks whether users matching <pattern> are not logged into a services account. |
gateway | w | w:<pattern> | gateway | Matches against the name of the gateway that WebIRC users are connecting from. |
sslfp | z | z:<pattern> | sslmodes | Checks whether users have a TLS (SSL) client certificate with a fingerprint matching <pattern>. |