I dont want the bot to reply me on any and every channel. Please assist.
Code: Select all
# why.tcl
# find out why users are op'd by chanserv services and onotice channel
set vWhyServ "chanserv@services.dal.net"
set vWhyTime 10
bind MODE - "% +o" pWhySend
bind NOTC - * pWhyReceive
proc pWhyCancel {} {
global vWhyChan vWhyNick
foreach item [utimers] {
if {[string equal pWhyTimeout [lindex $item 1]]} {
killutimer [lindex $item 2]
}
}
if {[info exists vWhyNick]} {unset vWhyNick}
if {[info exists vWhyChan]} {unset vWhyChan}
return 0
}
proc pWhyReceive {nick uhost hand text dest} {
global vWhyNick vWhyChan vWhyServ
if {![regexp {^#} $dest]} {
if {[string equal -nocase $nick [lindex [split $vWhyServ @] 0]]} {
if {[info exists vWhyNick]} {
set response [stripcodes bcruag $text]
if {[string match -nocase *${vWhyNick}* [join [lrange [split $response] 0 2]]]} {
putserv "NOTICE @$vWhyChan :$response"
pWhyCancel
}
}
}
}
return 0
}
proc pWhySend {nick uhost hand chan mode target} {
global vWhyServ vWhyNick vWhyChan vWhyTime
if {[string equal -nocase $nick [lindex [split $vWhyServ @] 0]]} {
set vWhyNick $target
set vWhyChan $chan
putserv "PRIVMSG $vWhyServ :WHY $vWhyChan $vWhyNick"
utimer $vWhyTime pWhyTimeout
}
return 0
}
proc pWhyTimeout {} {
global vWhyNick vWhyChan
putserv "PRIVMSG @$vWhyChan :a /WHY command for $vWhyNick timed out without response"
pWhyCancel
return 0
}