chiark / gitweb /
topicedit: add a timeout; better error handling
[ircbot.git] / irccore.tcl
index c3ee5446e5e44696edd361a4dad62d44d54dacad..545446cac3e464c1dd99a4c26d5ca64dc59983e3 100644 (file)
@@ -5,6 +5,7 @@ proc defset {varname val} {
 
 # must set host
 defset port 6667
+defset socketargs {}
 
 defset nick testbot
 defset ident blight
@@ -247,6 +248,13 @@ proc check_nick {n} {
     if {[string length $n] > 18} { error "nick too long" }
 }
 
+proc check_chan {n} {
+    if {![regsub {^\#} $n {} n]} { error "bad chan start" }
+    if {[regexp -nocase {[^][\\`_^{|}a-z0-9-]} $n]} { error "bad char in chan" }
+    if {[regexp {^[-0-9]} $n]} { error "bad chan name start" }
+    if {[string length $n] > 18} { error "chan name too long" }
+}
+
 proc ischan {dest} {
     return [regexp {^[&#+!]} $dest]
 }