}
}
+proc catch_logged {body} {
+ if {[catch { uplevel 1 $body } emsg]} {
+ logerror "error (catch_logged): $emsg"
+ }
+}
+
proc sendprivmsg {dest l} {
foreach v [split $l "\n"] {
sendout [expr {[ischan $dest] ? "PRIVMSG" : "NOTICE"}] $dest $v
proc check_nick {n} {
if {[regexp -nocase {[^][\\`_^{|}a-z0-9-]} $n]} { error "bad char in nick" }
if {[regexp {^[-0-9]} $n]} { error "bad nick start" }
+ if {[string length $n] > 18} { error "nick too long" }
}
proc ischan {dest} {