Skip to main content
Version: 1.0

Extended bans

Extended bans allow different checks than the usual nick!user@host (hostmask) match. They extend the functionality of channel bans (+b), ban exceptions (+e), quiets (+q) and invite exceptions (+I).

Syntax: $[~]<type>:<data>

Where type is one character (case sensitive) that determines the type of match that is to be used. If the tilde (~) is used, the result of the check is inverted (i.e., has the reverse effect).

Types#

The following types of extended bans are provided by ircd-yeti:

Account (a)#

The account type is matched against an authenticated user's name. Wildcards are accepted.

Syntax: $a:<accountmask>

Examples#

  • /mode #channel +b $a:trip - bans all users who have authed to the account trip
  • /mode #channel +e $a:trip - exempts all users who have authed to the account trip
  • /mode #channel +q $a:*joe* - quiets all users who have joe in their account name
  • /mode #channel +q $~a:* - quiets alll users who have not authed to an account.

Channel (c)#

The channel type matches users who are present in the channel specified.

Syntax: $c<#channel>

Examples#

  • /mode #channelA +b $c:#channelB - bans all users who are present in #channelB
  • /mode #channelA +b $~c:#channelB - bans all users who are not in #channelB
  • /mode #channelA +e $c:#channelC - exempts all users who are present in #channelC
  • /mode #channelA +q $c:#channelB - quiets all users who are present in #channelB

Shared list (j)#

The shared list type allows sharing of channel ban, exempt and quiet lists. To use this extended ban, you must be a channel operator in the channel who’s list you are trying to share, and that channel must not be private or secret.

Syntax: $j:<#channel>

Examples:#

  • /mode #channelA +b $j:#channelB - bans all users who match an entry on #channelB’s ban list
  • /mode #channelA +e $j:#channelB - exempts all users who match an entry on #channelB’s exemption list
  • /mode #channelA +q $j:#channelB - quiets all users who match an entry on #channelB’s quiet list

Mark (m)#

The mark type is matched against a user’s marks, if they have any set.

Syntax: $m:<key>:<data>

Examples:#

  • /mode #channel +b $m:gateway:mibbit - bans all users who have been marked as using Mibbit
  • /mode #channel +q $m:gateway:tor - quiets all users who have been marked as using TOR

Nick change (n)#

The nick change type prevents nickname changes from users matching the specified hostmask.

Syntax: $n:<hostmask>

Example:#

  • /mode #channel +b $n:*!*@* - prevents any user from changing their nickname while on the channel

Operator (o)#

The operator type matches non IRC Operators.

Syntax: $o

Example:#

  • /mode #channel +b $~o - bans all users who are IRC Operators

Gecos (r)#

The gecos type (also referred to as realname) matches against a user’s gecos (realname field).

Wildcards are accepted.

Syntax: $r:<mask>

Examples:#

  • /mode #channel +b $r:*sub7* - bans all users with the string sub7 anywhere in their realname field
  • /mode #channel +b $~r:awesome* - bans all users who’s realname field doesn’t start with the word awesome
  • /mode #channel +e $r:*jason* - exempts all users who have the name Jason anywhere in their realname field
  • /mode #channel +q $r:*script* - quiets all users with the string script anywhere in their realname field

Text ban (t)#

The text ban type blocks messages that contain the specified text. This type only works with channel bans, and cannot be inverted.

Wildcards are accepted.

Syntax: $t:<text>

Example:#

  • /mode #channel +b $t:*damn* - blocks all messages that contain the word damn

Unauthenticated (u)#

The unauthenticated type matches uauthenticated users who match the specified hostmask.

Syntax: $u:<hostmask>

Example:#

  • /mode #channel +I $u:*!*@*.irccloud.com - invite exception for unauthed users using IRCCloud

CertFP (z)#

The certfp type is matched against a user’s client certificate fingerprint.

Syntax: $z:<fingerprint>

Example:#

  • /mode #channel +I $z:FC46F3DBA1405B550CA06A597AF16A83194B6D1F62B9F594E6657AD429B9BB4D - invite exception for user’s with this certfp