bind join - * join_whois_x bind msgm - * join_got_whois_x proc join_got_whois_x {nick uhost hand text} { if {$nick=="X"&&$uhost=="cservice@undernet.org"} { if {[string match -nocase "USER: *" $text]} { # got a "user reply" set ::xlastreply [lindex [split $text " "] 1] } elseif {[string match -nocase "?? SUSPENDED *" $text] && [info exists ::xlastreply]} { set ::suspended($::xlastreply) 1 unset ::xlastreply } } } proc join_whois_x {nick uhost hand chan} { putserv "privmsg x :access $chan $nick -modif" utimer 10 [list join_voice_utimer_10 $nick $uhost $hand $chan] } proc join_voice_utimer_10 { nick host hand chan } { if {![matchattr $hand |fglov $chan]} { global vchan botnick if {![string match -nocase "*.undernet.org" $host]} { pushmode $chan +b $nick utimer 10 [list puthelp "NOTICE $nick :AUTHENTICATION FAILED as $nick"] utimer 15 [list puthelp "NOTICE $nick :Remember:On undernet.org NICKSERV is NOT available $nick . Please GO TO : http://cservi$ utimer 20 [list putserv "privmsg X@channels.undernet.org :kick $chan $nick You do not have +x mode. Please join #Usernames and$ return 1 } if {![info exists ::suspended($nick)]} { utimer 12 [list puthelp "NOTICE $nick :AUTHENTICATION SUCCESSFUL as $host "] utimer 13 [list puthelp "NOTICE $nick :Remember: Nobody from CService will ever ask you for your password, do NOT give out you$ utimer 14 [list puthelp "NOTICE $nick :Please just ask your question in the channel without colours, bold, underline, repeat, $ utimer 20 [list putserv "privmsg X : voice $vchan $nick "] return 1 } else { unset ::suspended($nick) # in case X lags more then 10 seconds, we'll devoice the user pushmode $chan -v $nick } }