All pastes #279538 Raw Edit

Mine

public text v1 · immutable
·published 2006-12-15 03:14 UTC
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 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" }
foreach {g} [split $goldrank] {set oldrank "-$g\-"}
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
}
if {![validuser $arg]} {
  putserv "PRIVMSG $chan :$arg is not a valid user."
  return
   }
  }
 }
}