CR-Avatar for IRC client authors
A short checklist for showing avatars without flooding anyone.
Operators only. This section is for IRC operators.
Full rules: the specification. This is the order to do things in.
- Detect. Turn avatars on when the
005line hasCR-AVATAR(keep the number, never refuse an unknown one) or when any/whoisreturns a320linehas an avatar set: <emoji> [:name:]. Turn them off, clear everything and stop lookups on-CR-AVATAR, and stay off until a laterCR-AVATAR=<n>. Never decide by the address the person typed, a vhost or the server name: many people connect through a bouncer. - Ask for the capability
conferencerooms.org/avatarwhen the server lists it. - Read
AVATARmessages.:nick!user@host AVATAR <emoji> [<name>]sets or replaces;AVATAR *clears. A value is valid if it is at most 16 UTF-8 bytes with no whitespace or control characters; otherwise ignore it and keep the old one. Accept any order. AQUITdrops the entry and aNICKmoves it. - With the capability active, send no lookups at all.
- Without the capability (a bouncer, an older ircd): be polite. Quiet
WHOISlookups, one per person, at most one every three seconds, only on spare capacity (never queue behind the person's own commands), newest joiners and speakers first, silent (print nothing), remembered until the person quits. AWHOISthe person types must always leave at once and always show. - Count lookups per nick, and show only answers you asked for: a bouncer such as ZNC sends every connected device the answers to every device's
WHOIS. - Show it: user list (between the mode badge and the nick), chat (before the sender's nick),
/whois(<nick> has an avatar set: <emoji> :<name>:). Nothing for no avatar, an unsupported network, the operator badge text or an invalid value. Keep the whole emoji sequence (variation selectors, joiners). - Apply changes in batches so a burst of answers redraws once, not once per person.
Textce (Mac, iPhone, Windows) is a working reference client and has a /avatars command that shows how avatars work on a connection. See also the ircd module and services notes.
More in I'm a developer
- I'm a developerBuild IRC software that works with ConferenceRooms features: protocols, modules and test tools.
- What is CR-Avatar?A tiny open protocol that lets IRC networks show one emoji next to a nickname.
- CR-Avatar for ircd-hybridOne page: get the open-source module, install it on ircd-hybrid 8.2.47, check it works, and run its 74 automated tests.
- CR-Avatar for services authorsWhat your services must store, send and avoid so ircds can announce avatars.