RFC2812 RPL_MYINFO Parsing
October 13, 2019 11:14 AM   Subscribe

RFC2812 indicates two mode sets in a response. I'm seeing three. What is the last set of mode characters (bkloveqjfI) for?

Part and parcel with trying to do more dotnet development on linux, I'm writing an IRC bot for entertainment. Currently working on mocking up a server object and have a feeling that RPL_MYINFO has some useful info. But I'm having some issue with parsing what I'm actually seeing from freenode's RPL_MYINFO text.

RFC 2812 Section 5, Subsection 1 says the reponse tokens should be "servername | version | available user modes | available channel modes"

What I'm seeing in response is
tolkien.freenode.net ircd-seven-1.1.7 DOQRSZaghilopsuwz CFILMPQSbcefgijklmnopqrstuvz bkloveqjfI
So I'm thinking
Available user modes: DOQRSZaghilopsuwz
Available channel modes: CFILMPQSbcefgijklmnopqrstuvz
I have no idea what these are for modes: bkloveqjfI

Can you help?
posted by Johnny Waterbed to Computers & Internet (2 answers total)
 
Best answer: This site bills itself as an unofficial “living specification” of IRC “as it is implemented today” (“if a new RFC was released today describing how IRC works, this is what I think it would look like”).

It says that RPL_MYINFO responses may have an optional sixth part, [<channel modes with a parameter>]. I’m not sure exactly what that means, but perhaps it will mean something to you.

It also notes, “Clients SHOULD discover available features using RPL_ISUPPORT tokens rather than the mode letters listed in this reply.”
posted by Syllepsis at 11:39 AM on October 13, 2019


Best answer: You and Syllepsis have done most of the work here already. I can provide some additional information about the meaning of "channel modes with a parameter":

The final string of characters bkloveqjfI is a subset of the previous string of characters. Both strings repsesent available channel modes, but the bkloveqjfI modes all support (expect?) a parameter when being set.

When setting a ban with +b on a channel, you supply a parameter that specifies a ban mask. When setting +k (key) on a channel, you supply a parameter that specifies the channel key, etc.
posted by ffej at 5:16 PM on October 13, 2019


« Older Need good item for pet hair on hardwood floor   |   Michael Caine film quote Newer »
This thread is closed to new comments.