customprefix: data-driven prefix engine — define arbitrary new prefix modes (letter/prefix/rank/ranktoset/ranktounset/depriv), ranks re-spaced x10; built-in tiers + defaults unchanged

This commit is contained in:
Jean Chevronnet 2026-08-11 19:46:07 +00:00
parent d35a2071a6
commit b40c523b87
5 changed files with 256 additions and 102 deletions

View file

@ -52,12 +52,16 @@ use_resolved_host = on
# allow a unique command prefix to resolve to its full command (e.g. WHOI -> WHOIS)
# abbreviation = yes
# reconfigure channel-prefix tiers (oper founder admin op halfop voice):
# a bare token = the displayed sigil; ranktoset / ranktounset = min rank to grant /
# revoke it (a number 1-6 or a tier name); depriv=no forbids removing it from
# yourself. (Symbols/policy only — adding brand-new tiers isn't supported.)
# customprefix — reconfigure built-in prefix tiers, or define brand-new ones.
# Built-in tiers (oper founder admin op halfop voice): a bare token = the sigil;
# ranktoset / ranktounset = min rank to grant / revoke it (a number or a tier name);
# depriv=no forbids removing it from yourself.
# customprefix = op * ranktoset=admin ranktounset=admin depriv=no
# customprefix = voice -
# New prefix (name is anything that isn't a built-in tier): letter + prefix required;
# rank (default 1), ranktoset/ranktounset (default rank), depriv (default yes).
# Ranks: voice=10 halfop=20 op=30 admin=40 founder=50 oper=60 (room to slot between).
# customprefix = helper letter=V prefix=? rank=25 ranktoset=op ranktounset=op
# DNS blocklist (DNSBL) checks on connect. Repeat `dnsbl`
# for multiple zones. On a listing, `dnsbl_action` decides what happens: