bugfixes. before ledbot fchan reorg
[ircbot] / irccore.tcl
index c3ee544..34836e2 100644 (file)
@@ -247,6 +247,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]
 }