chat-examples
chat examples
Examples of how chat transcripts are marked up currently, with the idea of moving towards a
Authors
IRC transcripts
These are plaintext logs with space separated fields, so are posted wrapped in <pre>
12:06 Tantek: what does the datetime stamp represent? 12:07 KevinMarks: in iRC, when it was said 12:07 Tantek: is it a point in time *before* they started speaking? 12:07 Tantek: or *after*? 12:07 Tantek: or somewhere in the *middle*? 12:07 KevinMarks: usually it is quantised to seconds 12:07 KevinMarks: and it is time the msg was received 12:07 Tantek: but the second they started typing or pressed return? 12:08 KevinMarks: prssed return i think
Or as plaintext + <br> (eg http://chocnvodka.blogware.com/blog/_archives/2005/8/25/1169654.html)
(22:20) gturneruk: oh, i just remembered. windows 95 is ten years old today
(22:22) Suw: good god. i mean, i shouldn't be surprised, it being 2005 and all. but still, where did that time go?
(22:22) gturneruk: lost clusters
(22:23) Suw: i obviously need to defrag
xChat2 log format
**** BEGIN LOGGING AT Wed May 14 04:36:29 2003 May 14 04:36:29 --> You are now talking on #test May 14 04:36:29 --- Topic for #test is Test Topic May 14 04:36:29 --- Topic for #test set by nick1 at Thu May 8 18:45:05 May 14 04:58:45 --- You are now known as nick1 May 14 05:03:44 --> nick1 (~nick1@2.1.3.narf-42905) has joined #test May 14 05:05:48 <nick1> test message May 14 05:10:24 * nick1 test action May 14 05:11:19 <-- nick1 has quit (quit) **** ENDING LOGGING AT Fri Jul 4 00:28:22 2003
Snak log format
Log file opened at: 5/26/04 12:00:11 AM [12:00:11:] nick1: test message [12:10:29:] * nick1 test action [12:13:16:] ***: nick2 (~nick2@test.net) has joined the channel [12:20:35:] ***: nick2 has quit IRC ("Computer going to sleep...") [12:21:31:] ***: You have joined the channel Log file closed at: 5/26/04 2:29:08 AM
iChat transcripts
iChat handles timestamps differently, inserting them between statement blocks, every 5 minutes.
12:25 AM Reconnecting to tantekatwork… Kevin Marks: So, iChat shows timestamps between entries Tantek: yes Tantek: what about Adium? 12:30 AM Kevin Marks: my copy is 230 days old...
Bash.org
Bash.org and other QDBs collect funny IRC transcripts and let people vote on them. They use plaintext + <br />, wrapped in <p> http://bash.org/?23396
<Donut[AFK]> HEY EURAKARTE
<Donut[AFK]> INSULT
<Eurakarte> RETORT
<Donut[AFK]> COUNTER-RETORT
<Eurakarte> QUESTIONING OF SEXUAL PREFERENCE
<Donut[AFK]> SUGGESTION TO SHUT THE FUCK UP
<Eurakarte> NOTATION THAT YOU CREATE A VACUUM
<Donut[AFK]> RIPOSTE
<Donut[AFK]> ADDON RIPOSTE
<Eurakarte> COUNTER-RIPOSTE
<Donut[AFK]> COUNTER-COUNTER RIPOSTE
<Eurakarte> NONSENSICAL STATEMENT INVOLVING PLANKTON
<Miles_Prower> RESPONSE TO RANDOM STATEMENT AND THREAT TO BAN OPPOSING SIDES
<Eurakarte> WORDS OF PRAISE FOR FISHFOOD
<Miles_Prower> ACKNOWLEDGEMENT AND ACCEPTENCE OF TERMS
Log Library
Log Library displays a tabular format with divs
<div class="row" name="GusVanNos"> <div class="timestamp">18:36:28</div> <div class="nick"><GusVanNos></div> <div class="message">.+. is a lazy way of saying .{2,}</div> </div> <div class="row" name="jawong"> <div class="timestamp">18:36:48</div> <div class="nick"><jawong></div> <div class="message">your model is waaaay better, xal.</div> </div>
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.
JWZ
http://www.jwz.org/hacks/irc2html.pl was used to generate the irc logs for Bar Camp Dallas : http://barcamp.org/f/barcampdallas-irc.html
<table bgcolor="#ffffff"> <tbody> <tr> <td bgcolor="#eeeeee" nowrap="nowrap" valign="top"> <font color="#000000"> <i>[2006/01/28 11:21:34] </i> </font> </td> <td bgcolor="#eeeeee" valign="top"> <font color="#000000"> <i>@ jdunck joined channel #barcampdallas</i> </font> </td> </tr> <tr> <td nowrap="nowrap" valign="top"> <font color="#000000"> <i>[2006/01/28 11:21:40] </i> </font> </td> <td valign="top"> <font color="#000000"> <i><tantek> is there a subethaedit-compatible client on windows?</i> </font> </td> </tr> ...
MSN Messenger XML Format Logs
Examples at: http://stupidpeople.commo.de/logs/After%20August%202004/, there are a bunch there but not sure how widespread it is. General structure appears to be a Log element wrapper, with toplevel Join and Message elements. It's a little strange how the To element has children indicating all the recepients, normally that would be implicit, but there may be a reason that isn't clear just from this example. Original posting for example: http://microformats.org/discuss/mail/microformats-discuss/2006-February/002937.html
<Log FirstSessionID="1" LastSessionID="1"> <Join Date="9/12/2004" Time="6:48:20 PM" DateTime="2004-09-12T23:48:20.716Z" SessionID="1"> <User FriendlyName="'' Quando não tem oq se ama...à preciso amar oq se tem!!! ''"/> <Text Style="color:#008000; "> '' Quando não tem oq se ama...à preciso amar oq se tem!!! '' has been added to the conversation. </Text> </Join> <Message Date="9/12/2004" Time="6:48:20 PM" DateTime="2004-09-12T23:48:20.846Z" SessionID="1"> <From> <User FriendlyName="Você vive inventando maneiras pra dizer semp pra dizer que me quer!!"/> </From> <To> <User FriendlyName="http://commo.de/StupidPeople/"/> <User FriendlyName=":@TE ODEIO:@"/> <User FriendlyName="|I{â¢------»Victor«------â¢}I|1 2 3 o corh fregueis! -LLUSSAA EOOOO"/> <User FriendlyName=""Tô com sono!!! Acho que vo durmi!!!""/> <User FriendlyName="||||Gabriel||||| A Clockwork Orange.."/> <User FriendlyName="Pensar para acertar, Calar para resistir, Agir para vencer"/> <User FriendlyName="*>.Jessy.<*genteeeeeeeemmmmmmm..trokeiser tá aqui:09098217635!!!"/> </To> <Text Style="font-family:Sylfaen; color:#ff0000; "> nossa qnta gente </Text> </Message> </Log>
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.
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>
Trillian Internal Format
This is for an AIM chat, but one for a Yahoo! chat looks the same. It is saved as plaintext as well as XML. (user1 is local).
Plaintext:
Session Start (user1:user2): Fri Apr 01 17:43:06 2005 [17:43] user2: ping [17:43] *** Auto-response sent to user2: My hovercraft is full of eels. [17:46] user1: hey Session Close (user2): Fri Apr 01 17:47:00 2005
The same in XML:
<session type="start" time="1112395386" medium="AIM" to="user2" from="user1"/> <message type="incoming_privateMessage" time="1112395386" medium="AIM" to="user1" from="user2" from_display="user2" text="ping"/> <message type="information_standard" time="1112395387" medium="AIM" text="Auto%2Dresponse%20sent%20to%20user2%3A%20My%20hovercraft%20is%20full%20of%20eels%2E"/> <message type="outgoing_privateMessage" time="1112395573" medium="AIM" to="user2" from="user1" from_display="user1" text="hey"/> <session type="stop" time="1112395619" medium="AIM" to="user2" from="user1"/>
There is also a "user2-assets.xml" file for stuff like Buddy icons & file transers:
<asset medium="AIM" name="user2" link="C%3A%5CProgram%20Files%5CTrillian%5Cusers%5Cdefault%5Cbuddyicons%5Cassets%5CAIM%2Duser2%2D1118046544%2Ejpg"/> <asset medium="AIM" name="user2" link="D%3A%5CPIX%5CY2005%5C0619%5CMOV02050%2EMPG"/> <asset medium="AIM" name="user2" link="C%3A%5CDocuments%20and%20Settings%5Cant%5CDesktop%5CDSCN0372_resize%2EJPG"/> <asset medium="AIM" name="user2" link="C%3A%5CProgram%20Files%5CTrillian%5Cusers%5Cdefault%5Cbuddyicons%5Cassets%5CAIM%2Duser2%2D1133932754%2Ejpg"/>
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