[Richard Suchenwirth] 2007-06-05 - If you want to see what's going on in [the Tcl chatroom], but don't have a chat client available, the following script retrieves the current day's log via [http] and renders it in [HTML] to stdout. Redirect it into a file, point your browser to it, enjoy! .^) #!/usr/bin/env tclsh set usage { usage: today.tcl > today.html Retrieve today's chat log, format into HTML on stdout } set base http://tclers.tk/conferences/tcl/ if {$argv eq "-h"} {puts $usage; exit 1} proc main argv { package require http set date [clock format [clock sec] -format %Y-%m-%d] #http::config -proxyhost proxy -proxyport 80 set token [http::geturl $::base/$date.tcl] puts "Tclers' Chat of $date" eval [html'escape [http::data $token]] puts
[clock format [clock sec]] } interp alias {} html'escape {} string map {< < > > & &} #-- All chat entries invoke [m] proc m {time who what} { if {$who eq "ijchain"} { set who [lindex [split $what] 0] if {$who eq "***"} {set who ""} set what [join [lrange [split $what] 1 end]] } if {$who eq ""} { #-- join/leave message puts "
* $what" } elseif {[string match /me* $what]} { #-- "action" puts "
$who [string range $what 4 end]" } else { #-- regular message puts "
$who: $what" } } main $argv ---- [Category example]