chat-formats
chat formats
ChatZilla Internal Format
Note that there is no proof that this format is being used "in the wild" for publishing. ChatZilla uses HTML as its presentation layer. This heavily elided excerpt shows two lines from a chat. It gives the flavor (a very big table with each row a chat message divided up into three columns: timestamp, user name and the message itself) but there are many more classes in use in a full log.
<div id="messages-outer"> ... <div id="output"> ... <table view-type="IRCChannel" class="msg-table"> <tbody> <tr mark="even" msg-user="cks_ ME!" statusText="01/31/2006 01:39 PM, cks_!n=chatzill@ppp-70-248-121-149.dsl.rcsntx.swbell.net" view-type="IRCChannel" dest-type="IRCChannel" msg-dest="#microformats" msg-type="PRIVMSG" class="msg"> <td time-s="57" time-n="39" time-h="13" time-d="31" time-m="01" time-y="2006" class="msg-timestamp"> </td> <td class="msg-user"> <span>cks_</span> </td> <td class="msg-data"> <span>so, using chatzilla for just a minute so i can extract the logs.</span> </td> </tr> <tr mark="odd" msg-user="Atamido" statusText="01/31/2006 01:43 PM, Atamido!n=atamido@cpe-67-9-173-252.austin.res.rr.com" view-type="IRCChannel" dest-type="IRCChannel" msg-dest="#microformats" msg-type="PRIVMSG" class="msg"> <td time-s="25" time-n="43" time-h="13" time-d="31" time-m="01" time-y="2006" class="msg-timestamp"> </td> <td class="msg-user"> <a href="irc://irc.freenode.net/Atamido,isnick" class="chatzilla-link"> <span>Atamido</span> </a> </td> <td class="msg-data"> <span> Here are some examples. <a target="_content" class="chatzilla-link" href="http://www.hacksrus.com/%7Eginda/chatzilla/motifs.html"> http://www.hacksrus.<wbr> com/~ginda/chatzilla/<wbr> motifs.html<wbr> </a> </span> </td> </tr> </tbody> </table> </div> </div>
Google Talk Format Logs
Again, user1 is local.
3 17b5df8a 01c61af0 outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v66EC7D7137%22+to%3D%22user2%40gmail.com%2FTalk.v66EC841CB6%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Esome+but+not+much%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E incoming %3Ccli%3Amessage+from%3D%22user2%40gmail.com%2FTalk.v66EC841CB6%22+to%3D%22user1%40gmail.com%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3EI'm+ready+to+crawl+in+bed+and+read.++Do+well+on+your+paper.++Love++Mom%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v66EC7D7137%22+to%3D%22user2%40gmail.com%2FTalk.v66EC841CB6%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Ethanks%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+to%3D%22user2%40gmail.com%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Emom%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E incoming %3Ccli%3Amessage+from%3D%22user2%40gmail.com%2FTalk.v687050428D%22+to%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3EHi%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+to%3D%22user2%40gmail.com%2FTalk.v687050428D%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Ei+totally+forgot+about+the+awning%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+to%3D%22user2%40gmail.com%2FTalk.v687050428D%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Edo+you+want+me+to+come+over%3F%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E incoming %3Ccli%3Amessage+from%3D%22user2%40gmail.com%2FTalk.v687050428D%22+to%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3EI+have+tomorrow+off.++Is+the+wind+supposed+to+get+bad+before+then%3F%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+to%3D%22user2%40gmail.com%2FTalk.v687050428D%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Enot+sure.+its+stormy+now%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E incoming %3Ccli%3Amessage+from%3D%22user2%40gmail.com%2FTalk.v687050428D%22+to%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3EI'm+ready+if+yo+are.++I+thought+you+would+be+here+anyway+about+the+boat+or+I+would+have+called.%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+to%3D%22user2%40gmail.com%2FTalk.v687050428D%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3EI+think+we+decided+to+do+the+boat+on+a+dry+night%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E outgoing %3Ccli%3Amessage+from%3D%22user1%40gmail.com%2FTalk.v68701EBF07%22+to%3D%22user2%40gmail.com%2FTalk.v687050428D%22+type%3D%22chat%22+xmlns%3Acli%3D%22jabber%3Aclient%22%3E%3Ccli%3Abody%3Ei'll+come+over+now%3C%2Fcli%3Abody%3E%3Cactive+xmlns%3D%22http%3A%2F%2Fjabber.org%2Fprotocol%2Fchatstates%22%2F%3E%3C%2Fcli%3Amessage%3E
Adium X
Adium X is currently developing an XML-based log format. This is version 0.3:
<chat date="2005-11-20" account="mactigerz" service="AIM" version="0.3"> <event type="windowOpened" time=""/> <message sender="chz16" time="">'sup?</message> <message sender="mactigerz" time="">trying to get to work on the the new XML log format</message> <message sender="chz16" time="">Doesn't sound bad.</message> <message sender="chz16" time="">Providing you have the log specs, of course.</message> <message sender="mactigerz" time="">that's what I'm creating.</message> <status type="offline" sender="chz16" time=""/> <status type="online" sender="chz16" time=""/> <status type="away" sender="mactigerz" time="">brb, working on the XML log format</status> <event type="windowClosed" time=""/> </chat>
This format remains under development, so this page may not reflect the current version of the format.
ILRT Logger Bot Format
Found at: http://chatlogs.planetrdf.com/swig/, generated by: http://cvs.ilrt.org/cvsweb/redland/logger/, there are three formats: HTML, plain text, and RDF. The entry discussed the RDF format, as it's presumably directed at machines and not people.
Taking RDF first just because that's kind of fun and is presumably 100% semantics. Pretty straightforward RDF Sequence with date/description/creator, except for the line with a Dublin Core relation stuck in there. As is normal with RDF, semantics are reused, so to fully grok it there's some followon work to do, see: http://www.w3.org/2004/Talks/0522-rrs/ The foaf group got involved with IRC chat since IRC names are one of the ways to identify people, looks like it snowballed, not sure if the ChatChannel stuff is official or not. The Dublin Core and WordNet stuff is mentioned in the FOAF spec index, but seems to be missing from the actual text, I might have been looking at an old version.
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wn="http://xmlns.com/wordnet/1.6/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <foaf:ChatChannel rdf:about="irc://irc.freenode.net/swig"> <foaf:chatEventList> <rdf:Seq> <rdf:li> <foaf:chatEvent rdf:ID="T00-01-19"> <dc:date>2006-02-01T00:01:19Z</dc:date> <dc:description>keithalexander has quit</dc:description> <dc:creator><wn:Person foaf:nick="keithalexander"/></dc:creator> </foaf:chatEvent> </rdf:li> <rdf:li> <foaf:chatEvent rdf:ID="T00-27-42"> <dc:date>2006-02-01T00:27:42Z</dc:date> <dc:description>Gromgull: nice quote re. x years later</dc:description> <dc:creator><wn:Person foaf:nick="CaptSolo"/></dc:creator> </foaf:chatEvent> </rdf:li> <rdf:li> <foaf:chatEvent rdf:ID="T01-38-49"> <dc:date>2006-02-01T01:38:49Z</dc:date> <dc:description>A: http://aaronland.info/python/pyupcoming/ from karlUshi</dc:description> <dc:creator><wn:Person foaf:nick="dc_swig"/></dc:creator> <dc:relation rdf:resource="http://aaronland.info/python/pyupcoming/"/> </foaf:chatEvent> </rdf:li> </rdf:Seq> </foaf:chatEventList> </foaf:ChatChannel> </rdf:RDF>