# Extended bans Extbans extend `+b` (and the `+e` / `+I` exceptions) beyond a plain `nick!user@host` mask. Use them as `MODE <#channel> +b :`. 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:` | | `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:` (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 |