Skip to content

Instantly share code, notes, and snippets.

@jesopo
Last active January 22, 2020 10:34
Show Gist options
  • Save jesopo/2a3c119ac85f722d61bd4783271338e0 to your computer and use it in GitHub Desktop.
Save jesopo/2a3c119ac85f722d61bd4783271338e0 to your computer and use it in GitHub Desktop.
ISUPPORT `QUIET` token proposal

ISUPPORT QUIET token proposal

rationale

clients and bots are unable to detect a given IRCd's method of quieting/muting users. exposing instructions on how to apply and list these will be of great benefit for making quiets easier for those not overinformed about IRC's technical details.

this will also trivialise applying and selectively removing quiets for channel service bots; they can apply and remove specific quiets and can list all active quiets.

technicals

this is written to cover the two dominating methods of quieting users; +q list mode and extbans. charybdis derivatives use the former, most others use the latter.

to cover both, the token will express both a mode (will typically be q or b) and expose a prefix for use with extbans.

we also express the numerics used to list active quiets. this is because charybdis-style and extban-style quiets will use different numerics; extban-style quiet listing just involves listing all bans and picking which start with the expressed prefix.

token format

QUIET=<mode>[,[prefix][,<numeric-list>,<numeric-end>]]

[prefix] defaults to empty string, numeric-list defaults to RPL_BANLIST (367), numeric-end defaults to RPL_ENDOFBANLIST (368)

charybdis/ircd-seven example

QUIET=q,,728,729

and the numeric format is:

:adams.freenode.net 728 jess|test #bitbottest q asd!*@* jess!jess@bitbot/dev/jess 1579688462
:adams.freenode.net 729 jess|test #bitbottest q :End of Channel Quiet List

inspircd example

QUIET=b,m:

unrealircd example

QUIET=b,~q:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment