KBOM (kick ban op mode) Control

By chicknh8r on Dec 17, 2005

If this isn't supposed to be in the "snippet" section, I apologize... Im still pretty new to whats considered an addon and up.

Copy and Paste this Script to your remotes "alt R". 
I have a bot, so I put this into the bots remotes.
Simply change the "#Crib" to whatever channel you want this script to cover, and change yournickhere to the nick/nick's you want this script ONLY to repsond 2.
Simply type !commands for your available options.  When you see 
"!lock <status|on|off>" , that means you have 3 options after "!lock"
If you type, "!lock status" then the current status of all locks will  be displayed..etc. etc

This is my latest attempt to create an "babysitter" script for you channel while your afk. That way, newbs can't go crazy with banning, oping others, changing channel modes, and even prevent kicks.

Any feedback would be appreciate!

;                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                ~~       KBOM LOCK Script v1.0        ~~
;                ~~  Copy And Paste Script in Remotes  ~~
;                ~~       "ALT R" Goto "Save As"       ~~
;                ~~   This Script Basically Babysits   ~~
;                ~~ Your Channel, And Helps From       ~~
;                ~~ N00B's Causing Chaos and Stupidity ~~
;                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

on *:LOAD: {
  /_alloff1  
  echo 9 -a KICKS*BANS*OPS*MODES LOCK Script v1.0 Successfully Loaded  
  echo 14 -a Currently ALL LOCK OPTIONS STATUS = Disabled; For Available Commands Type !commands
}
on *:UNLOAD: {
  /_alloff1  
  echo 9 -a KICKS*BANS*OPS*MODES LOCK Script v1.0 Successfully UnLoaded  
  echo 9 -a Thank You For Using KBOM LOCK Script v1.0
}
on *:START: {
  /_alloff1  
}
on *:EXIT: {
  /_alloff1
}

;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                   ~~ Text Commands Trigger Section ~~
;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     

on *:TEXT:*!*:#: {
  if ($nick == $me) || ($nick == yournickhere) {
    if ($1 == !commands) { /_commands }
    if ($1 == !lock) { goto locks }
    if ($1 == !mode) { goto modes }
    if ($1 == !ban) { goto bans }
    if ($1 == !op) { goto ops }
    if ($1 == !kick) { goto kicks }
    :modes
    if ($1 == !mode) {
      if ($2 == lock) {
        if ($3 == status) { msg $chan MODELOCK STATUS = $group(#MODELOCK) }
        if ($3 == on) && ( $group(#MODELOCK).status == off ) { .set %modelock. [ [ $chan ] ] [ [ $chan ] ] | .enable #MODELOCK | msg $chan MODELOCK For $chan Has Been Enabled }
        if ($3 == off) && ( $group(#MODELOCK).status == on ) { .unset %modelock. [ [ $chan ] ] [ [ $chan ] ] | .disable #MODELOCK | msg $chan MODELOCK For $chan Has Been Disabled }
      }
    }
    :bans
    if ($1 == !ban) {
      if ($2 == lock) {
        if ($3 == status) { msg $chan BANLOCK STATUS = $group(#BANLOCK) }
        if ($3 == on) && ( $group(#BANLOCK).status == off ) { .set %banlock. [ [ $chan ] ] [ [ $chan ] ] | .enable #BANLOCK | msg $chan BANLOCK For $chan Has Been Enabled }
        if ($3 == off) && ( $group(#BANLOCK).status == on ) { .unset %banlock. [ [ $chan ] ] [ [ $chan ] ] | .disable #BANLOCK | msg $chan BANLOCK For $chan Has Been Disabled }
      }
    }
    :ops
    if ($1 == !op) {
      if ($2 == lock) {
        if ($3 == status) { msg $chan OPSLOCK STATUS = $group(#OPSLOCK) }
        if ($3 == on) && ( $group(#OPSLOCK).status == off ) { .set %opslock. [ [ $chan ] ] [ [ $chan ] ] | .enable #OPSLOCK | msg $chan OPSLOCK For $chan Has Been Enabled }
        if ($3 == off) && ( $group(#OPSLOCK).status == on ) { .unset %opslock. [ [ $chan ] ] [ [ $chan ] ] | .disable #OPSLOCK | msg $chan OPSLOCK For $chan Has Been Disabled }
      }
    }
    :kicks
    if ($1 == !kick) {
      if ($2 == lock) {
        if ($3 == status) { msg $chan KICKLOCK STATUS = $group(#KICKLOCK) }
        if ($3 == on) && ( $group(#KICKLOCK).status == off ) { .set %kicklock. [ [ $chan ] ] [ [ $chan ] ] | .enable #KICKLOCK | mode # +Q | msg $chan KICKLOCK For $chan Has Been Enabled }
        if ($3 == off) && ( $group(#KICKLOCK).status == on ) { .unset %kicklock. [ [ $chan ] ] [ [ $chan ] ] | .disable #KICKLOCK | mode # -Q | msg $chan KICKLOCK For $chan Has Been Disabled }
      }
    }
    :locks
    if ($1 == !lock) {
      if ($2 == status) { /_allstatus }
      if ($2 == on) { /_allon }
      if ($2 == off) { /_alloff }
    }
  }
}

;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                   ~~ Group Locks Code Section ~~
;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#BANLOCK off

on *:BAN:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return } 
  if ( $group(#BANLOCK).status == ON )  {  mode $chan -b $banmask  |  msg $chan BANLOCK is Currently ENABLED, Do Not Use BAN AGAIN }  
  halt
}
on *:UNBAN:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#BANLOCK).status == ON ) { mode $chan +b $banmask  |  msg $chan BANLOCK is Currently ENABLED, Do Not Use UNBAN AGAIN }
  halt
}

#BANLOCK end

#OPSLOCK off

on *:OWNER:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:DEOWNER:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:PROTECT:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:UNPROTECT:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:OP:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:DEOP:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:HOP:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:DEHOP:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:VOICE:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}
on *:DEVOICE:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#OPSLOCK).status == ON ) {  mode $chan $replacex($1-,+,-,-,+) $qnick  |  msg $chan  OPSLOCK For $chan Currently ENABLED, Do Not Use OPS Commands $nick  }
  halt
}

#OPSLOCK end

#MODELOCK off

on *:MODE:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#MODELOCK).status == ON ) { mode $chan $replacex($1-,+,-,-,+)  |  msg $chan  MODELOCK for $chan Currently ENABLED, Do Not Change Channel Modes $nick }
  halt
}

#MODELOCK end

#KICKLOCK off

on *:KICK:#Crib: {
  if ($nick == $me) || ($nick == yournickhere) || $nick == yournickhere) || ($nick == yournickhere) { return }
  if ( $group(#KICKLOCK).status == ON ) {  msg $chan  KICKLOCK for $chan Currently ENABLED, Do Not Attempt To Kick Anyone $nick }
  if ( $group(#MODELOCK).status == ON ) { mode $chan $replacex($1-,+,-,-,+) }
  halt
}

#KICKLOCK end

;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                   ~~ Menu Channel Nicklist Section ~~
;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

menu channel,nicklist {
  KBOM Locks
  .KICKLOCK ( $+ $group(#KICKLOCK).status $+ )
  ..$iif( $group(#KICKLOCK).status == on, off, on): { 
    echo $colour(info) -a KICKLOCK $iif( $group(#KICKLOCK).status == on, disabled, enabled) 
    .$iif( $group(#KICKLOCK).status == on, .disable, .enable) #KICKLOCK 
  }
  .BANLOCK ( $+ $group(#BANLOCK).status $+ )
  ..$iif( $group(#BANLOCK).status == on, off, on): {
    echo $colour(info) -a BANLOCK $iif( $group(#BANLOCK).status == on, disabled, enabled) 
    .$iif( $group(#BANLOCK).status == on, .disable, .enable) #BANLOCK
  }
  .OPSLOCK ( $+ $group(#OPSLOCK).status $+ )
  ..$iif( $group(#OPSLOCK).status == on, off, on): {
    echo $colour(info) -a OPSLOCK $iif( $group(#OPSLOCK).status == on, disabled, enabled) 
    .$iif( $group(#OPSLOCK).status == on, .disable, .enable) #OPSLOCK
  }
  .MODELOCK ( $+ $group(#MODELOCK).status $+ )
  ..$iif( $group(#MODELOCK).status == on, off, on): {
    echo $colour(info) -a MODELOCK $iif( $group(#MODELOCK).status == on, disabled, enabled) 
    .$iif( $group(#MODELOCK).status == on, .disable, .enable) #MODELOCK
  }
  .LOCKALL
  ..On: /_allon | echo -a ALL LOCKS ENABLED
  ..Off: /_alloff | echo -a ALL LOCKS DISABLED
}

;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                   ~~ Menu Channel Current Modes Section ~~
;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

menu channel,nicklist {
  KBOM &Modes Status
  .$style(2) $+(Currently,  ,$gettok($chan($chan).mode,1,32)):x
  .-
  .$iif($chnm(t,$chan),$style(1)) Ops set &topic    +t:mode $chan $gtchnm(t,$chan)
  .$iif($chnm(n,$chan),$style(1)) &No ext. msg. +n:mode $chan $gtchnm(n,$chan)
  .$iif($chnm(i,$chan),$style(1)) &Invite only  +i:mode $chan $gtchnm(i,$chan)
  .$iif($chnm(m,$chan),$style(1)) &Moderated    +m:mode $chan $gtchnm(m,$chan)
  .$iif($chnm(k,$chan),$style(1)) &Key  +k:mode $chan $gtchnm(k,$chan) $iif($chnm(k,$chan),$chan($chan).key,$$eddialog(Enter a key for $chan))
  .$iif($chnm(l,$chan),$style(1)) User &limit   +l:mode $chan $gtchnm(l,$chan) $iif(!$chnm(l,$chan),$$eddialog(Enter a user limit for $chan))
  .$iif($chnm(p,$chan),$style(1)) &Private  +p:mode $chan $gtchnm(p,$chan)
  .$iif($chnm(s,$chan),$style(1)) &Secret   +s:mode $chan $gtchnm(s,$chan)
  .$iif(c isincs $chanmodes,$iif($chnm(c,$chan),$style(1)) N&o colors   +c):mode $chan $gtchnm(c,$chan)
  .$iif(C isincs $chanmodes,$iif($chnm(C,$chan),$style(1)) No &CTCPs    +C):mode $chan $gtchnm(C,$chan)
  .$iif(N isincs $chanmodes,$iif($chnm(N,$chan),$style(1)) No &notices  +N):mode $chan $gtchnm(N,$chan)
  .$iif(r isincs $chanmodes,$iif($chnm(r,$chan),$style(1)) Authed only  +&r):mode $chan $gtchnm(r,$chan)
  .$iif(D isincs $chanmodes,$iif($chnm(D,$chan),$style(1)) &Delayed join    +D):mode $chan $gtchnm(D,$chan)
  .$iif(u isincs $chanmodes,$iif($chnm(u,$chan),$style(1)) Hide q&uit msgs  +u):mode $chan $gtchnm(u,$chan)
}

;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;                   ~~       Alias Section       ~~
;                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

alias _allstatus {
  msg $chan Current Locks STATUS are as Follows:
  .timerstats1 1 2 msg $chan MODELOCK STATUS = $group(#MODELOCK)
  .timerstats2 1 3 msg $chan BANLOCK STATUS = $group(#BANLOCK)
  .timerstats3 1 4 msg $chan OPSLOCK STATUS = $group(#OPSLOCK)
  .timerstats4 1 5 msg $chan KICKLOCK STATUS = $group(#KICKLOCK)
  halt
}

alias _commands {
  msg $chan Available Commands Are as Follows:
  .timercmds1 1 2 msg $chan !mode lock <status|on|off>
  .timercmds2 1 3 msg $chan !ban lock <status|on|off>
  .timercmds3 1 4 msg $chan !op lock <status|on|off>
  .timercmds4 1 5 msg $chan !kick lock <status|on|off>
  .timercmds5 1 6 msg $chan !lock <status|on|off>
  halt
}
alias _klon {
  mode # +Q
}
alias _kloff {
  mode # -Q
}

alias _allon {
  .enable #KICKLOCK
  .enable #BANLOCK
  .enable #OPSLOCK
  .enable #MODELOCK
  mode $chan +Q
  msg $chan All LOCKS ENABLED
}

alias _alloff {
  .disable #KICKLOCK
  .disable #BANLOCK
  .disable #OPSLOCK
  .disable #MODELOCK
  mode # -Q
  msg $chan All LOCKS DISABLED
}
alias _alloff1 {
  .disable #KICKLOCK
  .disable #BANLOCK
  .disable #OPSLOCK
  .disable #MODELOCK
}

Comments

Sign in to comment.
Fresh4Life   -  Jan 29, 2007

It Dont Work Help

 Respond  
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.