rendered paste body; usage: /mall [chan] +o|+v|-o|-v
alias -l mall.nick { return $eval($+($!nick,$chr(40),$1,$chr(44),$2,$chr(44),$3,$chr(41)),2) }
alias mall {
if ($me ison $1) { var %chan = $1 | tokenize 32 $2- } | else { var %chan = $active }
if ($1 == +v) { var %temp = r } | elseif ($1 == +o) { var %temp = a,o } | elseif ($1 == -o) { var %temp = o } | elseif ($1 == -v) { var %temp = v } | else { return }
var %total = $mall.nick(%chan,0,%temp),%i = 1
while (%i <= %total) {
if (!$regex($mall.nick(%chan,%i,%temp),^(Q|L| $+ $me $+ )$)) { var %nicks = %nicks $mall.nick(%chan,%i,%temp) }
if ($numtok(%nicks,32) == $modespl) { mode %chan $left($1,1) $+ $str($right($1,1),$modespl) %nicks | unset %nicks }
inc %i
}
if (%nicks) { mode %chan $left($1,1) $+ $str($right($1,1),$modespl) %nicks | unset %nicks }
}
on *:text:!massv*:#: { if ($nick isop $chan) || ($nick ishop $chan) { /mall +v } }
on *:text:!masso*:#: { if ($nick isop $chan) { /mall +o } }
on *:text:!massdeo*:#: { if ($nick isop $chan) { /mall -o } }
on *:text:!massdev*:#: { if ($nick isop $chan) || ($nick ishop $chan) { /mall -v } }