set r "No client version reply!"
bind join - * foo
bind ctcr - VERSION bar
bind time - * moo
proc foo {n u h c} {
if {[matchattr $h ovf|ovf]} return
set ::verNick($n) [list [unixtime] $u]
puthelp "privmsg $n :\001VERSION\001"
}
proc bar {n u h d k t} {
if {[isbotnick $d] && [info exists ::ver($n)]} {
unset ::verNick($n)
}
}
proc moo {m h d mo y} {
if {[info exists ::ver]} {
foreach {n e} [array get ::ver] {
set t [lindex $e 0]
set u [lindex $e 1]
if {[unixtime] - $t > 30} {
unset ::verNick($n)
newban "*!*[string range $u [string first "@" $u] end]" $::nick $::r 1
foreach c [channels] {
if {[botisop $c] && [onchan $n $c]} {
putkick $c $n $::r
}
}
}
}}
}
set r "no version reply"
bind join - * foo
bind ctcr - VERSION bar
bind time - * moo
proc foo {n u h c} {
if {[matchattr $h of|of]} return
set ::verNick($n) [list [unixtime] $u]
puthelp "privmsg $n :\001VERSION\001"
}
proc bar {n u h d k t} {
if {[isbotnick $d] && [info exists ::verNick($n)]} {
unset ::verNick($n)
}
}
proc moo {m h d mo y} {
if {[info exists ::ver]} {
foreach {n e} [array get ::ver] {
set t [lindex $e 0]
set u [lindex $e 1]
if {[unixtime] - $t > 30} {
unset ::verNick($n)
newban "*!*[string range $u [string first "@" $u] end]" $::nick $::r 1
foreach c [channels] {
if {[botisop $c] && [onchan $n $c]} {
putkick $c $n $::r
}
}
}
}}
}
The bind join line is correct so this means that you are either missing a module or have something that is messing something up.
Either way unload all scripts and load just this one and see if that works on it's own. If it dose, then load one by one the previously unloaded scripts until you find the culprit.
Once the game is over, the king and the pawn go back in the same box.