Extended Bans

From UnrealIRCd documentation wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Extended Bans are a special type of bans (+b), exempts (+e) and invite exceptions (+I) providing "extended" functionality.

These bans start with a tilde, followed by a letter denoting the extban type. For example +b ~q denotes a quiet extban. UnrealIRCd comes with a number of built-in extbans (loaded through Modules). 3rd party modules may introduce even more types.

The following ban types specify which actions (join, nick-change or speaking) are affected by a ban:

Extban Module Explanation Example
q extbans/quiet People matching these bans can join but are unable to speak, unless they have +v or higher. +b ~q:*!*@*.blah.com
n extbans/nickchange People matching these bans cannot change nicks, unless they have +v or higher. +b ~n:*!*@*.aol.com
j extbans/join When a user matches this (s)he may not join the channel but if already in the channel then all activities are permitted such as speaking or changing the nick. This can be useful to ban an entire ISP and then manually /INVITE people to the channel so once joined they can behave as normal. +b ~j:*!*@*.aol.com

These bantypes introduce new criteria which can be used:

Extban Module Explanation Example
a extbans/account If a user is logged in to services with this account name, then this ban will match. This is slightly different than ~R, in the sense that a user with nick ABC may be logged in under account XYZ. Not all services packages support this, in which case you will have to use ~R instead. +e ~a:SomeAccount

+I ~a:SomeAccount

c extbans/inchannel If the user is in this channel then (s)he is unable to join. A prefix can also be specified (+/%/@/&/~) which means that it will only match if the user has that rights or higher on the specified channel. +b ~c:#lamers

+e ~c:@#trustedops

O extbans/operclass If the user is an IRCOp and the oper::operclass matches this name then the ban/invex will match. You can use this to for example create *admin* only channels. +iI ~O:*admin*
r extbans/realname If the realname (gecos) of a user matches this then (s)he is unable to join. Since real names may contain spaces you can use a underscore to match a space (and underscore) +b ~r:*Stupid_bot_script*
R extbans/regnick If a user has identified to services for this nick then this ban will match. This means this ban is generally only useful for ban exemptions (+e) and invite exceptions (+I). +e ~R:Nick

+I ~R:Nick

S extbans/certfp When a user is using SSL/TLS with a client certificate then you can match the user by his/her SSL fingerprint (the one you see in /WHOIS). Useful for ban exemptions (+e) and invite exceptions (+I). +e ~S:0000000etc

+I ~S:0000000etc

T extbans/textban Channel-specific text filtering. Supports two actions: 'censor' and 'block', see examples on the right.
NOTE: This module is not loaded by default, you need to load it explicitly via loadmodule "extbans/textban"; in your unrealircd.conf.
+b ~T:censor:*badword*

+b ~T:block:*something*

You may also stack extended bans from the first group with the second. For example: +b ~q:~c:#lamers would quiet all users who have joined #lamers.

Ban types from the second group can be used in invite exceptions (+I). For example you can put the channel +i and then use +I ~c:#trusted and/or +I ~a:accountname.