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. 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>.
account R [!]account:<pattern> account Checks whether users are logged into a services account matching <pattern>.
realname r [!]realname:<pattern> realnameban Checks whether users have a a real name 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>.