Auto-mode 2.0

By Savage_CL on Nov 20, 2010

Took my auto-op script and expanded on it. This is what I came up with. There are two lists. auto-op and no-voice. This means that if a nick isn't on either list, they will be voiced. It's pretty self-explanatory in terms of usage. right click on a nick for the menu (auto-mode). If you want to put it near the top, hit ALT+R, go to pop-ops, go to view>nick list, and add "Auto-mode" w/o the quotes where you want it.
Added !op and !voice, allowing people already in the channel to op/voice themselves without hopping.

also, nick modification with aliases is available. type /modehelp for more info.

have fun :)

on @*:JOIN:#: {
  if %amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] == 1 {
    if $address($nick,2) isin %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] { mode $chan +o $nick | HALT }
    if $address($nick,2) isin %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] { HALT }
    mode $chan +v $nick
} }
on @*:TEXT:!OP:#: { if (%amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] != $null) && ($address($nick,2) isin %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ]) && ($nick !isop #) && (%amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] == 1) { mode # +o $nick }
on @*:TEXT:!VOICE:#: { if (%amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] != $null) && ($address($nick,2) !isin %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ]) && ($nick !isavoice #) && (%amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] == 1) { mode # +v $nick }
alias amode {
  if $1 == $null {
    if %amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] != 1 { set %amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] 1 |  echo -a Auto-mode for $chan is ON }
    else { unset %amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] |  echo Auto-mode for $chan is OFF }
  }
  elseif #* iswm $1 {
    if %amode. [ $+ [ $$1 ] $+ . $+ [ $network ] ] != 1 { set %amode. [ $+ [ $$1 ] $+ . $+ [ $network ] ] 1 | echo -a Auto-mode for $$1 is ON }
    else { unset %amode. [ $+ [ $chan ] $+ . $+ [ $network ] ] |  echo Auto-mode for $chan is OFF
} } }
menu Nicklist {
  Auto-mode
  .no-voice { 
    if $address($$1,2) == $null { who # }
    if %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] == $null { echo -a $$1 has been added to the no-voice list for # | set %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$1,2) }
    elseif ($address($$1,2) isin %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ]) { echo -a $$1 has already been added to the no-voice list for # | HALT } 
    else { echo -a $$1 has been added to the no-voice list for # | set %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$1,2) }
  }
  .voice { 
    if $address($$1,2) == $null { who # }
    if $address($$1,2) isin %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] { echo -a $$1 has been removed from the no-voice list for # | set %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] $remtok(%novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ],$address($$1,2),0,32)
    if %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] == $null { unset %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] } }
    else { echo -a $$1 wasn't in the no-voice list for # }
  }
  .-
  .op { 
    if $address($$1,2) == $null { who # }
    if %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] == $null { echo -a $$1 has been added to the auto-op list for # | set %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$1,2) }
    elseif ($address($$1,2) isin %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ]) { echo -a $$1 has already been added to the auto-op list for # | HALT } 
    else { echo -a $$1 has been added to the auto-op list for # | set %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$1,2)
    }
  }
  .no-op {
    if $address($$1,2) == $null { who # }
    if $address($$1,2) isin %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] { echo -a $$1 has been removed from the auto-op list for # | set %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] $remtok(%modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ],$address($$1,2),0,32)
    if %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] == $null { unset %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] } }
    else { echo -a $$1 wasn't in the auto-op list for # }
  }
  .-
  .help { /modehelp }
}
alias modeset {
  if $1 == $null { echo -a Type "/modehelp" for script usage information }
  if $2 == $null { echo -a You must specify a nick to modify }
  if $2 !ison $chan { echo -a $2 is not in this channel: $chan }
  elseif $1 == voice {
    if $address($$2,2) == $null { echo -a I can't seem to find $1 $+ 's address :\ | HALT }
    if %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] == $null { echo -a $$2 has been added to the no-voice list for # | set %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$2,2) }
    elseif ($address($$2,2) isin %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ]) { echo -a $$2 has been removed from the no-voice list for # | set %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] $remtok(%novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ],$address($$2),0,32) } 
    else { echo -a $$2 has been added to the no-voice list for # | set %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] %novoice. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$2,2) }
  }
  elseif $1 == op {
    if $address($$2,2) == $null { echo -a I can't seem to find $1 $+ 's address :\ | HALT }
    if %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] == $null { echo -a $$2 has been added to the auto-op list for # | set %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$2,2) }
    elseif ($address($$2,2) isin %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ]) { echo -a $$2 has been removed from the auto-op list for # | set %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] $remtok(%modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ],$address($$2,2),0,32) }  
    else { echo -a $$2 has been added to the auto-op list for # | set %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] %modeop. [ $+ [ $chan ] $+ . $+ [ $network ] ] $address($$2,2) }
} }
alias modehelp {
  echo -a :: Auto-Mode script written by Savage
  echo -a :: all nick references use an address for the user
  echo -a :: The easiest way to use this script is to right click on the nick
  echo -a :: There are very few aliases for this script and they are as follows:
  echo -a :: /amode - change whether the script is active for the active window
  echo -a :: /amode #channel - change whether the script is active for specified channel
  echo -a :: /modeset op NICK - add/remove nick to the op list for active window
  echo -a :: /modeset voice NICK - add/remove nick to the no-voice list for active window
}

Comments

Sign in to comment.
Savage_CL   -  Nov 20, 2010

I felt the scripts were different enough to where I could leave the other one up as a separate script.

 Respond  
napa182   -  Nov 20, 2010

maybe you should have updated ur old version rather then posting new one.

 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.