chiark / gitweb /
Dies if doesn't get a ping. Configs separated.
[ircbot] / bot.tcl
diff --git a/bot.tcl b/bot.tcl
index 55d93c7b3295105cccfd33d34713a716b4ac60d5..5d19dd063f6c6db8fb2f5a33e4f31b7c593250c3 100755 (executable)
--- a/bot.tcl
+++ b/bot.tcl
@@ -1,16 +1,22 @@
-#!/usr/bin/tclsh8.2
+# Core bot code
 
-set host chiark
-set port 6667
-if {![info exists nick]} { set nick Blight }
-if {![info exists ownfullname]} { set ownfullname "here to Help" }
-set ownmailaddr blight@chiark.greenend.org.uk
+proc defset {varname val} {
+    upvar #0 $varname var
+    if {![info exists var]} { set var $val }
+}
+
+# must set host
+defset port 6667
+
+defset nick testbot
+defset ownfullname "testing bot"
+defset ownmailaddr test-irc-bot@example.com
 
-set musthaveping_ms 10000
-set out_maxburst 6
-set out_interval 2100
-set out_lag_lag 5000
-set out_lag_very 25000
+defset musthaveping_ms 10000
+defset out_maxburst 6
+defset out_interval 2100
+defset out_lag_lag 5000
+defset out_lag_very 25000
 
 proc manyset {list args} {
     foreach val $list var $args {
@@ -232,7 +238,10 @@ proc msg_PING {p c s1} {
     global musthaveping_after
     prefix_none
     sendout PONG $s1
-    if {[info exists musthaveping_after]} { after cancel $musthaveping_after] }
+    if {[info exists musthaveping_after]} {
+       after cancel $musthaveping_after
+       unset musthaveping_after
+    }
 }
 
 proc check_nick {n} {
@@ -1234,7 +1243,3 @@ ensure_globalsecret
 ensure_outqueue
 loadhelp
 ensure_connecting
-
-#if {![regexp {tclsh} $argv0]} {
-#    vwait terminate
-#}