All pastes #581155 Raw Edit

Something

public text v1 · immutable
·published 2007-06-21 12:00 UTC
rendered paste body
; $isowner(#chan,nick)
alias isowner {
  if ($isid) return $iif($nick($1,$2,q) || $istok($ial($2).mark,$1,32),$true,$false)
  .ialmark $2 $($+($,$3,tok($ial($2).mark,$1,32)),2)
}
on *:join:#:{ isowner # $nick rem }
on *:owner:#:{ isowner # $opnick add }
on *:deowner:#:{ isowner # $opnick rem }
raw 386:*:{ isowner $2- add } 


; $isadmin(#chan,nick)
alias isadmin {
  if ($isid) return $iif($nick($1,$2,$mid($prefix,$pos($nickmode,a),1)) || $istok($ial($2).mark,a $+ $1,32),$true,$false)
  .ialmark $2 $($+($,$3,tok($ial($2).mark,a $!+ $!1,32)),2)
}
on *:rawmode:#:{
  if (*a*,*,*,* iswmcs $chanmodes) {
    var %a = 1, %b, %c = 2
    while ($mid($1,%a,1)) {
      if ($v1 isin +-) %b = $v1
      if ($v1 === a) isadmin # $($ $+ %c,2) $replace(%b,+,add,-,rem)
      if ($regex($nickmode $chanmodes,/(?:^|,)(?=.* $v1 )/gx) %b isin 3 +1 %b 2 %b) inc %c
      inc %a
    }
  }
}
on *:join:#:{ isadmin # $nick rem }
raw 388:*:{ isadmin $2- add }