33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# Extended bans
|
|
|
|
Extbans extend `+b` (and the `+e` / `+I` exceptions) beyond a plain `nick!user@host` mask. Use them
|
|
as `MODE <#channel> +b <letter>:<value>`. The server advertises `EXTBAN=,aGAbcgjmnrsy` and
|
|
`ACCOUNTEXTBAN=a`.
|
|
|
|
There are two kinds. **Matching** extbans decide whether a user matches (for a ban or an exception);
|
|
**acting** extbans restrict a specific action instead of blocking the join.
|
|
|
|
## Matching extbans
|
|
|
|
| Letter | Name | Matches |
|
|
| --- | --- | --- |
|
|
| `a` | account | A services account glob, e.g. `+b a:spammer` (a user with no account never matches) |
|
|
| `g` | securitygroup | Members of a named [security group](/docs/security), e.g. `+b g:<name>` |
|
|
| `y` | reputation | A reputation-score range, e.g. `+b y:<100`, `+b y:>500` |
|
|
| `r` | realname | A real-name (GECOS) glob, e.g. `+b r:*spammer*` |
|
|
| `j` | channel | Users also in another channel; an optional status prefix narrows by rank, e.g. `+b j:@#staff` |
|
|
| `s` | server | Users on a given server name, e.g. `+b s:irc.example.net` |
|
|
| `G` | geoip | A country code, e.g. `+b G:<cc>` (needs a GeoIP database) |
|
|
| `A` | asn | An origin AS number |
|
|
| `b` | banlist | Users caught by another channel's ban list, e.g. `+b b:#staff` (non-recursive) |
|
|
|
|
## Acting extbans
|
|
|
|
These gate an action for matching users rather than blocking their join. An `+e` exception with the
|
|
same `letter:value` cancels the restriction.
|
|
|
|
| Letter | Name | Restricts |
|
|
| --- | --- | --- |
|
|
| `m` | mute | Matching users below voice may not send channel messages |
|
|
| `c` | blockcolor | Matching users may not send messages containing colour/formatting |
|
|
| `n` | nonick | Matching users may not change nick while in the channel |
|