Account Extended Ban

Copyright © 2021-2022 June McEnroe <june@causal.agency>

Unlimited redistribution and modification of this document is allowed provided that the above copyright notice and this permission notice remains intact.

This specification is a work-in-progress and may have major incompatible changes without warning.

This specification may change at any time and we do not recommend implementing it in a production environment.


Notes for implementing work-in-progress version 🔗

This is a work-in-progress specification.

Introduction 🔗

The account-notify, account-tag and extended-join specifications allow clients to much more easily know the account names of logged in users. The EXTBAN ISUPPORT token indicates the types of extended ban masks that the server supports, but not their meanings. This specification allows clients to construct ban masks for accounts by indicating which extended ban type matches account names.

The ACCOUNTEXTBAN ISUPPORT token 🔗

Servers publishing the ACCOUNTEXTBAN ISUPPORT token allow clients to construct ban masks matching account names. Servers publishing the ACCOUNTEXTBAN token MUST also publish the EXTBAN token. The value of the ACCOUNTEXTBAN token is a comma-separated list of names for the extended ban type which matches account names. Servers MUST support matching exact account names. Servers MAY support matching account masks and other server-specific extensions.

Examples 🔗

Example with the account-tag capability enabled:

S: :irc.ircv3.net 005 alice EXTBAN=$,ARar ACCOUNTEXTBAN=R :are supported by this server
...
S: @account=bob :bob_!~bob1@example.org PRIVMSG #chat :I am bad
C: MODE #chat +b $R:bob

Example with long extban names:

S: :irc.ircv3.net 005 alice EXTBAN=~,a ACCOUNTEXTBAN=a,account :are supported by this server
...
C: MODE #chat +b ~account:bob

Software supporting draft/account-extban: Solanum, UnrealIRCd, Limnoria