Index: trollforge/lenny/incog.tcl
===================================================================
--- trollforge/lenny/incog.tcl	(revision 60)
+++ trollforge/lenny/incog.tcl	(revision 60)
@@ -0,0 +1,96 @@
+#!/usr/local/bin/tclsh
+
+package require irc
+
+cd [file dirname $argv0]
+
+load ./libmh_tcl.so
+
+::irc::config logger 1
+::irc::config debug 1
+
+set server "irc.gnaa.us"
+set nick "inc0g"
+set chan "#gnaa"
+
+set last_chan_msg ""
+
+set c [::irc::connection]
+
+# End of motd
+$c registerevent 376 {
+
+	mh_init
+	cmd-join $::chan
+	mh_spontaneous_reply
+}
+
+proc mh_spontaneous_reply {} {
+
+	$::c privmsg $::chan [mh_doreply $::last_chan_msg]
+
+	after [expr {int (rand () * 200000) + 60000}] \
+		mh_spontaneous_reply
+}
+
+# Privmsg
+$c registerevent PRIVMSG {
+
+	if {[string equal [target] $::nick]} {
+
+		set msg_split [split [msg] " "]
+		set cmd [lindex $msg_split 0]
+
+		if {[string equal $cmd exit]} {
+
+			mh_cleanup
+			cmd-quit
+			set ::forever 1
+
+		} else {
+
+			after [expr {int (rand () * 5000) + 1000}] \
+				[list \
+					$::c \
+					privmsg \
+					[who] \
+					[mh_doreply [msg]]
+				]
+		}
+
+	} elseif {[string equal [target] $::chan]} {
+	
+		set msg_split [split [msg] " "]
+		set cmd [lindex $msg_split 0]
+
+		if {[string equal $cmd .exit]} {
+
+			mh_cleanup
+			cmd-quit
+			set ::forever 1
+
+		} elseif {[regexp -nocase -- $::nick [msg] m]} {
+
+			after [expr {int (rand () * 10000) + 1000}] \
+				[list \
+					$::c \
+					privmsg \
+					$::chan \
+					"[who]: [mh_doreply [regsub -all -nocase -- $::nick [msg] {}]]" \
+				]
+
+		} else {
+
+			set ::last_chan_msg [msg]
+			mh_doreply [msg]
+		}
+	}
+}
+
+
+# Connect
+$c connect $server
+$c user $nick h d e
+$c nick $nick
+
+vwait forever
