MoonScript IRC — File Browser

MoonScriptIRCv3.0 / MoonScriptIRCv3.0 / system / nc.mrc

nc.mrc — 7.5 KB — Download this file

menu status,channel,menubar {
  &Nick Completor Options: open.ncoptions
}
#nickcomp on
on *:input:#: {
  if ($1 == :) { goto end }
  if ($right($1,1) == :) {
    set %ncmsg $2-
    if ($cnick($remove($1,:)) ison $active) {      
      set -u0 %stylenum $readini Data\NickCompletor.ini Styles StyleNum
      if (%stylenum == 5) { msg $active | $+ %ncnick $+ |: $2- | halt }      
      if (%stylenum == 4) { msg $active 09,01 $+ $chr(40) $+  $+ $moontxt2(%ncnick) $+ 09,01 $+ $chr(93) $+ : $moontxt($2-) | halt }
      if (%stylenum == 1) { 
        set -u0 %nclen $len(%ncnick)
        set -u0 %ncposition $rand(1,%nclen)
        if (%nccolor < 10) set %nccolor 0 $+ %nccolor
        if (%ncposition == 1) { msg $active 09,0109,01(09,01 $+ $mid(%ncnick,%ncposition,1) $+  $+ 11,01 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2($2-) }
        else { msg $active 11,0109,01(11,01 $+ $mid(%ncnick,1, $calc(%ncposition - 1)) $+ 09,01 $+ $mid(%ncnick,%ncposition,1) $+  $+ 11,1 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2($2-) }
        halt
      }
      if (%stylenum == 2) {
        msg $active [ $+ $m2(%ncnick) $+ ]: $m3($2-) | halt 
        unset %ncnick
      }
      if (%stylenum == 3) {
        set -u0 %nclen $len(%ncnick)
        set -u0 %ncposition $rand(1,%nclen)
        if ( $len(%ncnick) == 2 ) { 
          msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+  $+ $mid(%ncnick,2,1) $+ ) $+ : $2- 
          halt        
        }
        if ( $len(%ncnick) == 1 ) { 
          msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ ) $+ : $2- 
          halt         
        }
        msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+  $+ $mid(%ncnick,2,$calc($len(%ncnick)-2)) $+  $+ $mid(%ncnick,$len(%ncnick),1) $+ ) $+ : $2- 
        halt
      }
    }
  }
  unset %ncnick  
}
#nickcomp end
alias cnick {
  set -u0 %foundnicks 0
  set -u0 %i 0
  :looping
  inc %i
  if ($nick($chan,%i) == $null) { goto end }
  if ($1 isin $nick(#,%i)) { inc %foundnicks | set -u0 %nicksfound $nick($chan,%i) }
  goto looping
  :end
  if (%foundnicks == 1) { set %ncnick %nicksfound | return %nicksfound }
  if (%foundnicks > 1) {
    set %i 0
    set %foundnicks 0
    open.ncmnicks
    did -b ncmnicks 3    
    :looping2
    inc %i
    if ($nick($chan,%i) == $null) { goto end2 }
    if ($1 isin $nick(#,%i)) { inc %foundnicks | did -a ncmnicks 2 $nick($chan,%i) }
    goto looping2
    :end2
    did -e ncmnicks 3
    did -c ncmnicks 2 1
    halt
  }
  else {
    echo -a $moontxt2(No Nicks Matching:) $moontxt2($1)
    halt
  }
}

alias open.ncoptions {
  if ($dialog(ncoptions) != $null)  { dialog -v ncoptions ncoptions }
  else { dialog -m ncoptions ncoptions }
}

dialog ncoptions {
  title "Nick Completor Options"
  size -1 -1 250 195
  box "Style",1, 10 10 225 115
  radio "1:",2, 20 30 30 15, group
  radio "2:",3, 20 48 30 15
  radio "3:",4, 20 66 30 15
  radio "4:",5, 20 85 30 15
  radio "5:",6, 20 103 30 15
  icon 7, 50 30 158 13 
  icon 8, 52 48 154 13
  icon 9, 34 66 190 13
  icon 10, 47 85 165 13
  icon 11, 47 103 165 13
  button "&OK", 17, 30 135 90 25, ok
  button "&Cancel", 18, 130 135 90 25, cancel
  button "&Help", 19, 30 165 90 25
  button "&Enable/Disable", 20, 130 165 90 25
}

on 1:dialog:ncoptions:init:0: {
  set -u0 %ncstyle $readini Data\NickCompletor.ini Styles StyleNum
  if (%ncstyle == 1) did -fc ncoptions 2
  if (%ncstyle == 2) did -fc ncoptions 3
  if (%ncstyle == 3) did -fc ncoptions 4
  if (%ncstyle == 4) did -fc ncoptions 5  
  if (%ncstyle == 5) did -fc ncoptions 6
  did -g ncoptions 7 Data\style1.bmp | did -g ncoptions 8 Data\style2.bmp | did -g ncoptions 9 Data\style3.bmp | did -g ncoptions 10 Data\style4.bmp | did -g ncoptions 11 Data\style5.bmp
}
on 1:dialog:ncoptions:sclick:19:{
  echo 12 -a  $+ $m3(How To Use MoonScript IRC Nick Completion by [MiKe|MoOn]) $+  
  echo 12 -a Choose a nick completion style from the dialog
  echo 12 -a Type part of a nick followed by a colon
  echo 12 -a Example: typing "mo: hi Mike Moon, nice script" would return...
  echo 12 -a  $+ $m2(moonio:) $m3(hi Mike Moon) $+ , $m3(nice script) $+ 
  echo 12 -a That, in a nutshell, is how a nick completor works
}
on 1:dialog:ncoptions:sclick:20:{
  if ( $group(#nickcomp) == ON ) { .disable #nickcomp | echo -a $moontxt2(Nick Completion is Now Disabled) }
  else  { .enable #nickcomp | echo -a $moontxt2(Nick Completion is Now Enabled) }
}
on 1:dialog:ncoptions:sclick:17: {
  if ($did(2).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 1
  if ($did(3).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 2
  if ($did(4).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 3
  if ($did(5).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 4
  if ($did(6).state == 1) writeini Data\NickCompletor.ini Styles StyleNum 5
}

alias open.ncmnicks {
  if ($dialog(ncmnicks) != $null)  { dialog -v ncmnicks ncmnicks | echo -a $moontxt2(Multiple dialog is in use, Please close it and try again) | halt }
  else { dialog -m ncmnicks ncmnicks }
}

dialog ncmnicks {
  title "Multiple Nick Found Matching"
  size -1 -1 210 146
  text "Choose the nickname that you want to send the message to:", 1, 10 10 180 30
  list 2, 10 40 190 70
  button "&OK",3, 10 113 90 25, ok
  button "&Cancel",4, 110 113 90 25, cancel
}

alias ncmsgstyles {
  set -u0 %stylenum $readini Data\NickCompletor.ini Styles StyleNum
  if (%stylenum == 5) { msg $active | $+ %ncnick $+ |: %ncmsg }
  if (%stylenum == 4) { msg $active 09,01 $+ $chr(40) $+  $+ $moontxt2(%ncnick) $+ 09,01 $+ $chr(93) $+ : $moontxt(%ncmsg) }  
  if (%stylenum == 1) { 
    set -u0 %nclen $len(%ncnick)
    set -u0 %ncposition $rand(1,%nclen)
    if (%nccolor < 10) set %nccolor 0 $+ %nccolor
    if (%ncposition == 1) { msg $active 09,0109,01(09,01 $+ $mid(%ncnick,%ncposition,1) $+  $+ 11,01 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2(%ncmsg) }
    else { msg $active 11,0109,01(11,01 $+ $mid(%ncnick,1, $calc(%ncposition - 1)) $+ 09,01 $+ $mid(%ncnick,%ncposition,1) $+  $+ 11,01 $+ $mid(%ncnick, $calc(%ncposition + 1), $calc(%nclen - %ncposition)) $+ 09,01)11,01: $moontxt2(%ncmsg) }
  }

  if (%stylenum == 2) {
    msg $active [ $+ $m2(%ncnick) $+ ]: $m3(%ncmsg)
    unset %ncnick
  }
  if (%stylenum == 3) {
    set -u0 %nclen $len(%ncnick)
    set -u0 %ncposition $rand(1,%nclen)
    if ( $len(%ncnick) == 2 ) { 
      msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+  $+ $mid(%ncnick,2,1) $+ ) $+ : %ncmsg
    }
    if ( $len(%ncnick) == 1 ) { 
      msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+ ) $+ : %ncmsg
    }    
    msg $active $m3($chr(40)) $+ $m3($status(%ncnick)) $+ $m3($chr(41)) ( $+ $mid(%ncnick,1,1) $+  $+ $mid(%ncnick,2,$calc($len(%ncnick)-2)) $+  $+ $mid(%ncnick,$len(%ncnick),1) $+ ) $+ : %ncmsg
  }
  unset %ncnick
  unset %ncmsg
}

on 1:dialog:ncmnicks:sclick:3: {
  set %ncnick $did(2,$did(2).sel)
  ncmsgstyles
}
on 1:dialog:ncmnicks:dclick:2: {
  set %ncnick $did(2,$did(2).sel)
  ncmsgstyles
}