- Code: Select all
if {[matchattr [nick2hand $nick] d|d $chan] == 0} {
Then you get:
- Code: Select all
setudef flag aop
namespace eval aop {
namespace eval variable {
variable rawid 678
}
bind time -|- "* * * * *" [namespace current]::scantime
proc scantime {minute hour day month year} {
bind RAW -|- {354} [namespace current]::raw354
foreach channel [channels] {
if {[channel get $channel aop]} {
if {[botisop $channel]} {
putserv "WHO $channel n%cnahuft,$::aop::variable::rawid"
}
}
}
}
proc raw354 {s r a} {
global aop
set rawid "[lindex [split $a] 1]"
set chan "[string tolower [lindex [split $a] 2]]"
set ident "[string tolower [lindex [split $a] 3]]"
set host "[string tolower [lindex [split $a] 4]]"
set nick "[string tolower [lindex [split $a] 5]]"
set flags "[lindex [split $a] 6]"
set v "*+*"
set o "*@*"
if {[string equal -nocase $rawid $::aop::variable::rawid]} {
if {[botisop $chan]} {
if {![string match [lindex [split $a] 7] 0] > 0} {
set auth "[string tolower [lindex [split $a] 7]]"
if {[channel get $chan aop] == 1} {
if {[string match "$o" "$flags"] == 0} {
if {[matchattr [nick2hand $nick] d|d $chan] == 0} {
pushmode $chan +o $nick
}
}
}
} else {
pushmode $chan +v $nick
}
}
}
}
bind PUB o !aop [namespace current]::public
proc public {nick uhost hand chan arg} {
set s [lindex $arg 0]
switch $s {
on {
if {[channel get $chan aop]} {
putserv "NOTICE $nick :Auto op is already \002on\002 for $chan"
} else {
channel set $chan +aop
putserv "NOTICE $nick :Auto op is now \002on\002 for $chan"
}
}
off {
channel set $chan -aop
putserv "NOTICE $nick :Auto op is now \002off\002 for $chan"
}
default {
if {[channel get $chan aop]} {
putserv "NOTICE $nick :Auto op is \002on\002 for $chan"
} else {
putserv "NOTICE $nick :Auto op is \002off\002 for $chan"
}
}
}
}
}
A little info, I'm working on a update.