X-Git-Url: https://jfr.im/git/irc/freenode/web-7.0.git/blobdiff_plain/cc0201e3a35d228b2e5d0aff8d4d7260bb164055..008490f684a178d6ebacf21d2dc9f7d18246213a:/content/kb/using/extbans.md
diff --git a/content/kb/using/extbans.md b/content/kb/using/extbans.md
index 00ac98cb2..d40164a8a 100644
--- a/content/kb/using/extbans.md
+++ b/content/kb/using/extbans.md
@@ -1,24 +1,18 @@
Title: Extbans
---
-Usually entries on bans (+b), quiets (+q), invite-only exemption (+I) and ban exemption (+e) are formatted nick!ident@host.
-There is a second form, called extban, which is more flexible. These entries have a $type or $type:data form. The type is a single character (case insensitive) indicating the type of match. It is optionally preceded by a tilde (~) to negate the comparison, see examples below. The data depends on extban type.
-### Setting extban entries
-Entries in the extban form are set the same way as regular +beIq entries and require the same privileges.
-See [the entry on channel modes](kb/using/channelmodes) for examples. The only difference is the form of the parameter passed.
+Bans, quiets and invite and ban exemptions conventionally accept the format
+`nick!user@host`. On freenode another syntax, known as "extban", is accepted.
+These entries have the general format `$X` or `$X:data`. Optionally, they can
+be negated with a tilde (`~`) before the character: for example, `$~a` matches
+every user that is *not* identified to services.
-Most extban types should also be explained by the built in help of our network, use `/help umode` or `/quote help umode` if your client does not pass through `/help`.
-
-### Available extban types
-The following extban types are available:
+# Available extban types
| Type (name) | Description |
| ----------- | ----------- |
-| $a
(account name) | This type will match on, and ban, all users identified to the account specified in the data parameter. This parameter accepts wildcards, and a lack of data is interpreted as an implicit wildcard. Common use cases include $a, which matches all users identified with services, and $~a, which matches all unidentified users. |
-| $j
(cannot join other channel) | This entry takes an exact channel name (no wildcards or globbing) as its data and matches any user who can not join that channel. For example: `/mode #channel1 +b $j:#channel2` will ban any user from #channel1 who cannot join #channel2. Due to caching by the server, a change to the ban list of #channel2 may not immediately alter a user's ability to speak in #channel. |
-| $r
(realname) | This type matches on a client's realname, or gecos. This parameter accepts wildcards. For example: `/mode #channel +b $r:Foo*` will ban any user whose gecos begins with Foo. |
-| $x
(full match) | This type takes a string parameter that is matched against a client's full nick!username@host#gecos. If a match is found, the user is banned. This parameter accepts wildcards. For example: `/mode #channel +b $x:*#Foo*` will ban any user whose gecos begins with Foo, or whose gecos contains "#Foo". |
-| $z
(using SSL) | This type does not accept a data parameter. It simply matches users who are connected via SSL. For example: `/mode #channel +b $~z$#channel-nossl` will forward non-SSL users to #channel-nossl. |
-
-### Channel forwards in bans
-The suffix $#targetchannel can be appended to any of the above ban masks to cause a user to be forwarded to #targetchannel. The ban setter will only be able to set this ban if they are an op in #targetchannel, or if it has [channel mode](kb/using/channelmodes) +F set. In this case, in all situations where the user would previously have been told they could not join, they will instead join the channel named in the ban mask and be sent a 470 numeric describing the forward.
+| $a
(account name) | Match users identified to the account specified in the parameter. Accepts wildcards; an empty $a matches any logged-in user. |
+| $j
(cannot join other channel) | Takes an exact channel name (no wildcards or globbing) as its parameter and matches any user who is banned from that channel. Due to caching by the server, a change to the target channel's ban list may not immediately affect a user's ability to send to the channel using $j. |
+| $r
(ircname) | Matches on a client's ircname, or gecos. The parameter accepts wildcards. For example: `/mode #channel +b $r:Foo*` will ban any user whose gecos begins with "Foo". |
+| $x
(full match) | Takes a parameter that is matched against a client's full nick!username@host#gecos. The parameter accepts wildcards. For example, `/mode #channel +b $x:*#Foo*` will ban any user whose gecos begins with Foo, or whose gecos contains "#Foo". |
+| $z
(connected securely) | Accepts no parameters. Matches users who are connected via SSL/TLS. |