PageSourceSearch

https://ircv3.github.io/specs/extensions/account-notify.html

html ircv3.github.io collected 2026-10-03 09:20:57 UTC 13,115 bytes, 167 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4   <meta charset="utf-8">
5   <title>`account-notify` Extension - IRCv3</title>
6   <meta name="viewport" content="width=device-width, initial-scale=1.0">
7  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
8  <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
9  <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
10  <link rel="manifest" href="/favicon/manifest.json">
11  <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#005960">
12  <link rel="shortcut icon" href="/favicon.ico">
13   <meta name="msapplication-config" content="/favicon/browserconfig.xml">
14   <meta name="theme-color" content="#ffffff">
15   <meta name="author" content="IRCv3 Working Group">
16   <meta name="description" content="IRCv3 Development Community">
17   <meta name="fediverse:creator" content="@[email protected]">
18  <link rel="alternate" type="application/rss+xml" href="/feed.xml" />
19  <link href="/fontawesome/css/fontawesome.min.css" rel="stylesheet">
20  <link href="/fontawesome/css/brands.min.css" rel="stylesheet">
21  <link href="/fontawesome/css/solid.min.css" rel="stylesheet">
22  <link href="/css/fonts.css" rel="stylesheet">
23  <link href="/css/pure.css" rel="stylesheet">
24  <link href="/css/style.css" rel="stylesheet">
25    <!--[if lt IE 9]>
26      
26<script src="/js/html5shiv.min.js"></script>
26
27      
27<script src="/js/respond.min.js"></script>
27
28    <![endif]-->
29 </head>
30 <body>
31   <div class="whole">
32<div class="navbar" role="navigation">
33 <div class="container">
34    <a class="navbar-brand" href="/">
35      <img class="ircv3-logo" src="/img/logo-forwhite.svg" title="IRCv3 Working Group" alt="IRCv3">
36    </a>
37   <div class="navbar-collapse collapse">
38     <ul id="navbar-links" class="links">
39       <li><a href="/index.html">Home</a></li>
40       <li><a href="/wg.html">
41          <span class="notablet">Working Group</span>
42          <span class="tablet">WG</span>
43        </a></li>
44       <li><a href="/faq.html">FAQs</a></li>
45       <li><a href="/irc/">
46          <span class="notablet">Specifications</span>
47          <span class="tablet">Specs</span>
48        </a></li>
49       <li><a href="/registry.html">
50          <span class="notablet">Registry</span>
51          <span class="tablet">Reg</span>
52        </a></li>
53       <li><a href="#" onclick="document.getElementById('support-dropdown-menu').className == 'dropdown-menu' ? document.getElementById('support-dropdown-menu').className += ' dropped' : document.getElementById('support-dropdown-menu').className = 'dropdown-menu'" class="dropdown-toggle">Support<span class="notablet"> Tables</span> <b class="caret"></b></a>
54         <ul id="support-dropdown-menu" class="dropdown-menu">
55           <li><a href="/support/networks.html"><span class="fa-solid fa-fw fa-sitemap" aria-hidden="true"></span> <span class="support-dropdown-text">Networks</span></a></li>
56           <li><a href="/software/clients.html"><span class="fa-solid fa-fw fa-desktop" aria-hidden="true"></span> <span class="support-dropdown-text">Clients</span></a></li>
57           <li><a href="/software/servers.html"><span class="fa-solid fa-fw fa-server" aria-hidden="true"></span> <span class="support-dropdown-text">Servers</span></a></li>
58           <li><a href="/software/bridges.html"><span class="fa-solid fa-fw fa-bridge" aria-hidden="true"></span> <span class="support-dropdown-text">Bridges</span></a></li>
59           <li><a href="/software/libraries.html"><span class="fa-solid fa-fw fa-code" aria-hidden="true"></span> <span class="support-dropdown-text">Libraries</span></a></li>
60           <li class="sep"><a href="/docs/sasl-mechs.html"><span class="fa-solid fa-fw fa-key" aria-hidden="true"></span> <span class="support-dropdown-text">SASL Mechanisms</span></a></li>
61         </ul>
62       </li>
63       <li class="iconsep"><a href="https://github.com/ircv3" title="View on GitHub"><span class="fa-brands fw-fw fa-github"></span></a></li>
64       <li class="iconsep"><a href="https://twitter.com/ircv3" title="IRCv3 on Twitter"><span class="fa-brands fw-fw fa-twitter"></span></a></li>
65       <li class="iconsep"><a href="https://mastodon.social/@ircv3" title="IRCv3 on the Fediverse"><span class="fa-brands fw-fw fa-mastodon"></span></a></li>
66       <li class="iconsep"><a href="/contact.html" title="Contact"><span class="fa-solid fw-fw fa-comments" aria-hidden="true"></span></a></li>
67     </ul>
68      <a class="navbar-dropper mobile" href="#" onclick="document.getElementById('navbar-links').className == 'links' ? document.getElementById('navbar-links').className += ' dropped' : document.getElementById('navbar-links').className = 'links'" aria-label="Toggle navigation"><b class="fa-solid fa-bars" aria-hidden="true"></b></a>
69   </div>
70 </div>
71</div>
72     <div class="content container">
73       <div class="spec-header">
74     <h1>
75          <code class="language-plaintext highlighter-rouge">account-notify</code> Extension
76     </h1>
77   <div class="copyrights">
78   <p>Copyright <span style="font-size: 0.9em; font-family: Arial, Helvetica, sans-serif">&copy;</span> 2010 William Pitcock &lt;[email protected]&gt;</p>
79   <p>Unlimited redistribution and modification of this document is allowed provided that the above copyright notice and this permission notice remains intact.</p>
80   </div>
81</div><hr>
82     <h2 id="description">
83          Description <a href="#description" class="anchor">🔗</a>
84     </h2>
85<p>The account-notify client capability allows a client to be notified
86when a client’s account name changes.  This capability MUST be
87referred to as ‘account-notify’ at capability negotiation time.</p>
88<p>
88When enabled, clients will get the ACCOUNT message to designate the
89account name changes for clients on common channels with them, including
90themselves.</p>
91<p>The ACCOUNT message is one of the following:</p>
92<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:nick!user@host ACCOUNT accountname
93</code></pre></div></div>
94<p>This message represents that the user identified by nick!user@host has
95logged into a new account.  The last parameter is the display name of
96that account.</p>
97<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:nick!user@host ACCOUNT *
98</code></pre></div></div>
99<p>This message represents that the user identified by nick!user@host has
100logged out of their account.  As the last parameter is an asterisk, this
101means that an asterisk is not a valid account name (which it is not in P10
102or TS6 or ESVID).</p>
103<p>In order to take full advantage of the ACCOUNT message, WHOX must be
104supported by the ircd.  In this case, the appropriate strategy to ensuring
105you always have the account name to display is to do the following:</p>
106<ol>
107 <li>
108   <p>Enable the “account-notify” capability at capability negotiation time
109during the login handshake.</p>
110 </li>
111 <li>
112   <p>When joining a channel, query the channel using WHO and ensure that you
113include the <code class="language-plaintext highlighter-rouge">a</code> format token in your WHOX token request.  When you get a
114reply, do appropriate caching.</p>
115 </li>
116 <li>
117   <p>If the extended-join capability is available, enable it at client
118capability negotiation time during the login handshake, and then set the
119account name based on what is sent in the extended JOIN command.</p>
120   <p>Otherwise, if extended-join is unavailable: When new users join a channel
121that your client does not know the account name for yet, do a WHO query
122against that client, again including the <code class="language-plaintext highlighter-rouge">a</code> format token in your WHOX
123token request field.  When you get a reply, do appropriate caching.</p>
124 </li>
125 <li>
126   <p>When the client receives an ACCOUNT message, update the account name for the
127client in question in your account name cache.</p>
128 </li>
129</ol>
130     <h2 id="errata">
131          Errata <a href="#errata" class="anchor">🔗</a>
132     </h2>
133<p>A previous version of this specification advised making a WHO request following a netsplit.
134This advice was deemed unnecessary and was removed. See
135<a href="https://github.com/ircv3/ircv3-specifications/issues/146">issue #146</a> for more information, including
136rationale for this clarification.</p>
137<p>A previous version of this specification didn’t make it clear that account-notify messages are sent for
138a client’s own account name changes.</p><hr>
139   <p>Software supporting account-notify: <a href="https://ergo.chat/">Ergo</a>, <a href="https://github.com/ircd-hybrid/ircd-hybrid">ircd-hybrid</a>, <a href="https://www.inspircd.org">InspIRCd</a>, <a href="https://github.com/UndernetIRC/ircu2">ircu2</a>, <a href="https://github.com/cooper/juno">juno</a>, <a href="https://github.com/evilnet/nefarious2">Nefarious IRCu</a>, <a href="https://github.com/solanum-ircd/solanum">Solanum</a>, <a href="https://www.unrealircd.org">UnrealIRCd</a>, <a href="https://www.adiirc.com">AdiIRC</a>, <a href="https://birc.app">bIRC</a>, <a href="https://hackage.haskell.org/package/glirc">glirc</a>, <a href="https://halloy.chat">Halloy</a>, <a href="https://github.com/wodencafe/ircafe">IRCafe</a>, <a href="https://irssi.org">Irssi</a>, <a href="https://konversation.kde.org">Konversation</a>, <a href="https://www.kvirc.net">KVIrc</a>, <a href="https://mangoirc.chat">Mango</a>, <a href="https://www.mirc.com">mIRC</a>, <a href="https://www.quassel-irc.org">Quassel</a>, <a href="https://www.nifty-networks.net/swirc/">Swirc</a>, <a href="https://weechat.org">WeeChat</a>, <a href="https://zoitechat.org">ZoiteChat</a>, <a href="https://codeberg.org/emersion/gamja">gamja</a>, <a href="https://www.irccloud.com">IRCCloud</a>, <a href="https://kiwiirc.com">Kiwi IRC</a>, <a href="https://thelounge.chat/">The Lounge</a>, <a href="https://github.com/pirc-pl/pirc-gateway">PIRC.pl web client</a>, <a href="https://github.com/ObsidianIRC/ObsidianIRC">ObsidianIRC</a>, <a href="https://github.com/WarPigs1602/jwebirc">jWebIRC</a>, <a href="https://play.google.com/store/apps/details?id=co.aureolin.coreirc">CoreIRC</a>, <a href="https://quasseldroid.info/">Quasseldroid</a>, <a href="https://github.com/kiwiirc/kiwibnc">KiwiBNC (as Server)</a>, <a href="https://github.com/kiwiirc/kiwibnc">KiwiBNC (as Client)</a>, <a href="https://git.causal.agency/pounce/about/">pounce (as Server)</a>, <a href="https://git.causal.agency/pounce/about/">pounce (as Client)</a>, <a href="https://codeberg.org/emersion/soju">soju (as Server)</a>, <a href="https://codeberg.org/emersion/soju">soju (as Client)</a>, <a href="https://znc.in/">ZNC (as Server)</a>, <a href="https://znc.in/">ZNC (as Client)</a>, <a href="https://github.com/jesopo/bitbot">BitBot</a>, <a href="https://github.com/eggheads/eggdrop">Eggdrop</a>, <a href="https://github.com/progval/Limnoria">Limnoria</a>, <a href="https://sopel.chat">Sopel (ex Willie)</a>, <a href="https://git.sr.ht/~sircmpwn/ChatSharp">ChatSharp</a>, <a href="https://communi.github.io">Communi</a>, <a href="https://github.com/lrstanley/girc">girc</a>, <a href="https://github.com/kiwiirc/irc-framework">irc-framework</a>, <a href="https://github.com/jesopo/ircrobots/">ircrobots</a>, <a href="https://github.com/KittehOrg/KittehIRCClientLib">Kitteh IRC Client Library</a>, <a href="https://pypi.python.org/pypi/pydle">pydle</a>, <a href="https://github.com/aatxe/irc">Rust irc</a>, <a href="https://github.com/WillowChat/Warren">Warren</a>, <a href="https://code.overdrivenetworks.com/pylink">PyLink (clientbot mode)</a></p>
140     </div>
141   </div>
142   <footer>
143     <div class="container">
144       <div class="copylink">
145          <span><a href="" class="wglink"><img class="ircv3-logo" src="/img/logo-fordark.svg" title="IRCv3 Working Group" alt="IRCv3"> <span class="wglink-text">Working Group</span></a> <span style="font-size: 0.9em; font-family: Arial, Helvetica, sans-serif">&copy;</span> 2026</span>
146          <span class="nomobile" style="margin: 0 0.7rem;">&middot;</span>
147          <a class="nomobile rss-button" href="/feed.xml"><i class="fa-solid fa-rss-square"></i> RSS</a>
148         <ul class="links nomobile" style="margin-top: 0.3rem">
149           <li><a href="/index.html">Home</a></li>
150           <li><a href="/wg.html">
151              <span class="notablet">Working Group</span>
152              <span class="tablet">WG</span>
153            </a></li>
154           <li><a href="/faq.html">FAQs</a></li>
155           <li><a href="/irc/">
156              <span class="notablet">Specifications</span>
157              <span class="tablet">Specs</span>
158            </a></li>
159           <li class="iconsep"><a href="https://github.com/ircv3"><span class="fa-brands fw-fw fa-github"></span></a></li>
160           <li class="iconsep"><a href="https://twitter.com/ircv3"><span class="fa-brands fw-fw fa-twitter"></span></a></li>
161           <li class="iconsep"><a href="https://mastodon.social/@ircv3" rel="me"><span class="fa-brands fw-fw fa-mastodon"></span></a></li>
162         </ul>
163       </div>
164     </div>
165   </footer>
166 </body>
167</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.