X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/ircbot/blobdiff_plain/6b33d29a2ffb4244bae6b51b2114039e2edb54ba..b52676c054b2a5b2b98cc5875263aba0a90309fa:/irccore.tcl diff --git a/irccore.tcl b/irccore.tcl index c3ee544..34836e2 100644 --- a/irccore.tcl +++ b/irccore.tcl @@ -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] }