Basic Ops

By gooshie on Sep 20, 2009

Basic Ops including mass bans, mass modes, mass kick, voice/devoice all,
channel central, ban list clear, and channel lock/unlock. Commands are
hidden when not supported by lack of proper mode.

Voice All only voices modeless nicks
DeVoice All only devoices nicks who only have +voice

Image

menu NickList {
  -
  $iif($1 && $nick(#,$me,~&@%),Channel Operator Commands)
  .Mass Ban:massmode +b $1-
  .Mass unBan:massmode -b $1-
  .Mass Kick:masskick $1-
  .-
  .Mass Voice:massmode +v $1-
  .Mass DeVoice:massmode -v $1-
  .$iif($nick(#,$me,~&@),Mass Half-Op):massmode +h $1-
  .$iif($nick(#,$me,~&@),Mass DeHalf-Op):massmode -h $1-
  .$iif($nick(#,$me,~&@),Mass Op):massmode +o $1-
  .$iif($nick(#,$me,~&@),Mass Deop):massmode -o $1-
  .-
  .Kick $1 (why):kick # $1 $$?="Kick Reason"
  .Ban/Kick $1 5min:ban -ku300 $1 2
  $iif($nick(#,$me,~&@%),+Voice All (except ops)):voiceall
  $iif($nick(#,$me,~&@%),-Voice All (except ops)):devoiceall
  $iif($nick(#,$me,~&@%),Channel Central):.channel
  $iif($nick(#,$me,~&@%),Clear Ban List):clearbans
  $iif($nick(#,$me,~&@%),(+mi) Lock/Moderate):mode # +mi
  $iif($nick(#,$me,~&@%),(-mi) UnLock):mode # -mi
  -
}

alias clearbans {
  var %i 1,%n
  while $ibl(#,%i) {
    %n = %n $v1
    if (%i = $ibl(#,0)) || ($numtok(%n,32) = $modespl) {
      mode # $+(-,$str(b,$numtok(%n,32))) %n
      %n = ""
    }
    inc %i
  }
}
alias devoiceall voiceall d
alias voiceall {
  var %i 1,%n,%s $iif($1 = d,-,+),%m $iif($1 = d,v,r)
  while $nick(#,%i,%m,~&@%) {
    %n = %n $v1
    if (%i = $nick(#,0,%m,~&@%)) || ($numtok(%n,32) = $modespl) {
      mode # $+(%s,$str(v,$numtok(%n,32))) %n
      %n = ""
    }
    inc %i
  }
}
alias masskick {
  var %i 1
  while $gettok($1-,%i,32) {
    kick # $v1
    inc %i
  }
}
alias MassMode {
  var %i 1,%g,%n $2-,%s $left($1,1),%m $mid($1,2,1)
  if %m = b {
    %n = ""
    while $gettok($2-,%i,32) {
      %n = %n $address($v1,2)
      inc %i
    }
  }
  while %n {
    %g = $gettok(%n,1- $+ $modespl,32)
    mode # $+(%s,$str(%m,$numtok(%g,32))) %g
    %n = $gettok(%n,$calc($modespl +1) $+ -,32)
  }
}

Comments

Sign in to comment.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.