Extended Bans

From HybridIRC Wiki
Revision as of 22:39, 6 December 2024 by Nero (talk | contribs) (Created page with "= 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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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