All pastes #276285 Raw Edit

Someone

public text v1 · immutable
·published 2006-12-12 04:38 UTC
rendered paste body
bind pub -|- .rank nsb_r_cmd
bind pub n|n .new new:user
bind pub n|n .del del:user
bind pub n|n .chrank chrank:proc

proc new:user {nick uhost hand chan text} {
 set arg [lindex [split $text] 0]
 set rank [lindex [split $text] 1]
 switch -- $arg {
  "" { putserv "PRIVMSG $chan : Syntax is: .new <handle> \[<rank>\]"; return }
  default { adduser $arg; putserv "PRIVMSG $chan : Added user $arg" }
 }

 switch -- $rank {
  A| - 10 { chattr $arg +A| }
  B| - 09 - 9 { chattr $arg +B| }
  C| - 08 - 8 { chattr $arg +C| }
  D| - 07 - 7 { chattr $arg +D| }
  E| - 06 - 6 { chattr $arg +E| }
  default { chattr $arg +F|; putserv "PRIVMSG $chan :$arg was added as a Civillian!"; return }
 }
putserv "PRIVMSG $chan :User added with rank level: $rank"

}

proc chrank:proc {nick uhost hand chan text} {
set arg [lindex [split $text] 0]
set newrank [lindex [split $text] 1]
  if {$arg == ""} {
putserv "PRIVMSG $chan : Syntax is: .chrank <handle> <newrank>"
return
}
switch -- $newrank {
  A| - 10 { set new A| }
  B| - 09 - 9 { set new B| }
  C| - 08 - 8 { set new C| }
  D| - 07 - 7 { set new D| }
  E| - 06 - 6 { set new E| }
  default { putserv "PRIVMSG $chan :$newrank didn't match any ranks !"; return }
 }
if {[validuser $arg]} {
  if {[matchattr $arg A|]} { set oldrank "A|" }
  if {[matchattr $arg B|]} { set oldrank "B|" }
  if {[matchattr $arg C|]} { set oldrank "C|" }
  if {[matchattr $arg D|]} { set oldrank "D|" }
  if {[matchattr $arg E|]} { set oldrank "E|" }
  if {[matchattr $arg F|]} { set oldrank "F|" }
  chattr $arg '-$oldrank'
  chattr $arg '+$new'
  putserv "PRIVMSG $chan :$arg has been promoted to rank $newrank"
} else {
putserv "PRIVMSG $chan :$arg is not a valid user."
}
}



proc del:user {nick uhost hand chan arg} {
        if {[validuser $arg]} {
deluser $arg
putserv "PRIVMSG $chan : User Deleted!"
} else {
putserv "PRIVMSG $chan : User not found!"
 }
}