Before this gets archived, I'd like to highlight what I feel to be a closely related issue possibly deserving some discussion at some point, namely, the absence of user modes among ERC's other user-state tracking. If you take a look at `erc-set-modes' and friends [1], you'll see that those who came before kicked the can down the road slightly when it came to this feature. From the placeholders and comments, it's unclear to me whether they were expressing ("owning") an intent to abstain or whether plans merely petered out (my guess). It's also unclear to me to what extent current users just assume this has already been implemented. (Until very recently, I could have counted myself among the casualties.) Which is not to say I think user-mode naivete as a conscious policy choice is the worst thing ever. However, users who associate featurefulness with user-state omniscience probably feel otherwise. In terms of tradeoffs, one less obvious benefit [2] of replacing those placeholders with the necessary smarts might be a smidge less congestion early on in the `erc-server-flood-queue' [3]. As far as drawbacks, there's probably some research required [4] in addition to the usual added stress of taking on more complexity [5]. I didn't raise any of this earlier for fear of appearing dismissive of this patch as some kind of half measure (and thereby somehow keen on forestalling its installation). Thanks. P.S. Someone should tell Ergo not to fire off a second 221 when a client issues an early MODE command, as ERC now does (see attached). Notes ~~~~~ [1] Like `erc-update-modes' and also the response handlers `erc-server-MODE' and `erc-server-221'. [2] Among the traditional benefits would be modes featuring more prominently in the UI (see popular standalone clients), possibly with a legend/widget thingy to explain the letters. Third party packages may also appreciate being able to check modes without adding custom handlers. [3] Which is helpful in testing and maybe also in module/user code running on MOTD hooks (and also perhaps for folks stuck using NickServ). [4] That is, assuming we'd even bother keeping up with the various pet modes offered by the major networks. Also, the nonstandard ISUPPORT param "USERMODES" may be worth a quick look. [5] For example, going this route would likely introduce at least one local variable along with the need to wrangle yet another timer (spawned from the same 376/422 handler).