rendered paste bodybind 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!"
}
}