rendered paste body### Change Rank ###
proc chrank:proc {nick uhost hand chan text} {
global owner master admin op voice chanmaster chanop chanvoice new
set arg [lindex [split $text] 0]
set rank [lindex [split $text] 1]
set uchan [lindex [split $text] 2]
if { $arg == "" && $rank == "" } {
putserv "PRIVMSG $chan :Syntax is\: .chrank <handle> <rank> \[channel\]"
return
} elseif { $arg != "" && $rank != "" } {
switch -- $rank {
owner { set newrank "$owner" }
master { set newrank "$master" }
admin { set newrank "$admin" }
op { set newrank "$op" }
voice { set newrank "$voice" }
chanmaster { set newrank "$chanmaster" }
chanop { set newrank "$chanop" }
chanvoice { set newrank "$chanvoice" }
friend { set newrank "$new" }
default { putserv "PRIVMSG $chan :\002$rank\002 is not a valid rank" }
}
if {[validuser $arg]} {
set oldrank ""
set goldrank ""
set coldrank ""
if {[matchattr $arg A|]} { set goldrank "$owner" }
if {[matchattr $arg B|]} { set goldrank "$master" }
if {[matchattr $arg C|]} { set goldrank "$admin" }
if {[matchattr $arg D|]} { set goldrank "$op" }
if {[matchattr $arg E|]} { set goldrank "$voice" }
if {[matchattr $arg I|]} { set goldrank "$new" }
if {[matchattr $arg |F $uchan]} { set coldrank "$chanmaster" }
if {[matchattr $arg |G $uchan]} { set coldrank "$chanop" }
if {[matchattr $arg |D $uchan]} { set coldrank "$chanvoice" }
if {$rank != "" && $uchan == ""} {
foreach {g} [split $goldrank] {set oldrank "-$g\-"}
chattr $arg $oldrank $uchan
chattr $arg $newrank $uchan
}
if {$rank != "" && $uchan != ""} {
foreach {c} [split $coldrank |] {set oldrank "-|-$c"}
chattr $arg $oldrank $uchan
chattr $arg $newrank $uchan
}
if {$uchan == ""} {
putserv "PRIVMSG $chan :\002$arg\'s\002 rank has been changed to \002<$rank: Global>\002"
} elseif {$uchan != ""} {
putserv "PRIVMSG $chan :\002$arg\'s\002 rank has been changed to <\002$rank: \002on \002$uchan\002>"
return
}