All pastes #262553 Raw Edit

Anonymous

public text v1 · immutable
#262553 ·published 2006-11-30 17:44 UTC
rendered paste body
;-**************************************************-;
; *                                                * ;
;*        Tech-Arena (org) Connection Script        *;
; *                                                * ;
;-**************************************************-;
; *                                                * ;
;*   nickname encode/decode example                 *;
;*   =>                                             *;
;*      //echo -a $ta.nick(test).encode             *;
;*      //echo -a $ta.nick(Z74Z65Z73Z74).decode     *;
; *                                                 *;
;-**************************************************-;
; *                                                * ;
;*   roomname encode/decode example                 *;
;*   =>                                             *;
;*      //echo -a $ta.room(test).encode             *;
;*      //echo -a $ta.room(74657374).decode         *;
; *                                                * ;
;-**************************************************-;

ctcp *:*:{
  if ($1 == TIME) { .NOTICE $ta.ctcp($nick).time | halt }
  if ($1 == VERSION) { .NOTICE $ta.ctcp($nick).version | halt  }
  if ($1 == FINGER) { .NOTICE $ta.ctcp($nick).finger | halt  }
  if ($1 == ”DTäE) { .NOTICE $ta.ctcp($nick).dtae | halt  }
  haltdef
}

alias nick {
  if ($1) {
    var %r
    if ($left($1,6) == $+(Admin,$chr(95))) { %r = $1 }
    elseif ($left($1,6) == $+(Sysma,$chr(95))) { %r = $1 }
    elseif ($left($1,6) == $+(Sysop,$chr(95))) { %r = $1 }
    elseif ($left($1,6) == $+(Guide,$chr(95))) { %r = $1 }
    elseif ($right($1,6) == $+($chr(95),Bot)) { %r = $1 }
    else { %r = $ta.nick($1-).encode }
    NICK %r
  }
}
on ^*:NICK: {
  var %r, %q
  if ($left($nick,6) == $+(Admin,$chr(95))) { %r = $nick }
  elseif ($left($nick,6) == $+(Sysma,$chr(95))) { %r = $nick }
  elseif ($left($nick,6) == $+(Sysop,$chr(95))) { %r = $nick }
  elseif ($left($nick,6) == $+(Guide,$chr(95))) { %r = $nick }
  elseif ($right($nick,6) == $+($chr(95),Bot)) { %r = $nick }
  else { %r = $ta.nick($nick).decode }
  if ($left($newnick,6) == $+(Admin,$chr(95))) { %q = $newnick }
  elseif ($left($newnick,6) == $+(Sysma,$chr(95))) {  %q = $newnick }
  elseif ($left($newnick,6) == $+(Sysop,$chr(95))) { %q = $newnick }
  elseif ($left($newnick,6) == $+(Guide,$chr(95))) { %q = $newnick }
  elseif ($right($newnick,6) == $+($chr(95),Bot)) { %q = $newnick }
  else { %q = $ta.nick($newnick).decode }
  if ($nick != $me) { echo -t $comchan($newnick,1) $+($chr(3),14,$str($chr(160),8)) $+ » %r is now known as %q }
  else { echo -a $+($chr(3),14,$str($chr(160),8)) $+ » Your nick is now %q }
  halt
}

alias ta.ctcp {
  if ($1) || ($prop) {
    var %r, %s
    %s = $1
    if ($prop == time) { %r = $+($time(d mmm 'yy),$chr(44),$chr(32),$time(hh:nn:ss TT)) }
    if ($prop == dtae) { %r = $+(”DTäE,$chr(32),$chr(73),$chr(82),$chr(67),$chr(55),$chr(32),$chr(84),$chr(65),$chr(45),$chr(67),$chr(79),$chr(78),$chr(78),$chr(32),$chr(83),$chr(89),$chr(83),$chr(84),$chr(69),$chr(77),$chr(32),$version)) }
    if ($prop == finger) { %r = $+(FINGER,$chr(32),$chr(73),$chr(82),$chr(67),$chr(55),$chr(32),$chr(84),$chr(65),$chr(45),$chr(67),$chr(79),$chr(78),$chr(78),$chr(32),$chr(83),$chr(89),$chr(83),$chr(84),$chr(69),$chr(77),$chr(32),$version)) }
    if ($prop == version) { %r = $+(VERSION,$chr(32),$chr(73),$chr(82),$chr(67),$chr(55),$chr(32),$chr(84),$chr(65),$chr(45),$chr(67),$chr(79),$chr(78),$chr(78),$chr(32),$chr(83),$chr(89),$chr(83),$chr(84),$chr(69),$chr(77),$chr(32),$version)) }
    return $+(%s,$chr(32),$chr(1),%r,$chr(1))
    unset %r, %s
  }
}

alias ta.nick {
  if ($1) {
    if ($prop == encode) {
      var %l 1, %r
      while (%l <= $len($1-)) {
        %r = $+(%r,$chr(90),$base($asc($mid($1-,%l,1)),10,16,2))
        inc %l
      }
      return %r
    }
    if ($prop == decode) {
      var %l 1, %r
      var %o $remove($1-,$chr(90))
      while (%l <= $len(%o)) {
        if (!$2) {
          if ($mid(%o,%l,2) != 20) %r = %r $+ $chr($base($mid(%o,%l,2),16,10))
          else %r = %r $chr($base($mid(%o,%l,2),16,10))
        }
        else %r = %r $+ $chr($base($mid(%o,%l,2),16,10))
        inc %l 2
      }
      return %r
      unset %o
    }
    unset %r
  }
}

alias ta.room {
  if ($1) {
    var %o
    if ($left($1,1) == $chr(35)) { %o = $right($1-,-1) }
    else { %o = $1- }
    
    if ($prop == encode) {
      var %l 1, %r
      while (%l <= $len(%o)) {
        %r = $+(%r,$base($asc($mid(%o,%l,1)),10,16,2))
        inc %l
      }
      return %r
    }
    if ($prop == decode) {
      var %l 1, %r
      var %o $1-
      while (%l <= $len(%o)) {
        if (!$2) {
          if ($mid(%o,%l,2) != 20) %r = $+(%r,$chr($base($mid(%o,%l,2),16,10)))
          else %r = $+(%r,$chr($base($mid(%o,%l,2),16,10)))
        }
        else %r = $+(%r,$chr($base($mid(%o,%l,2),16,10)))
        inc %l 2
      }
      return %r
    }
    unset %r
    unset %o
  }
}

alias ta.catlang {
  var %r, %c, %x, %s, %q
  if ($1) || ($prop) {
    if ($left($1,1) == $chr(35)) { %q = $right($1,-1) }
    elseif ($left($1,2) == $+($chr(37),$chr(35))) { %q = $right($1,-2) }
    else { %q = $1 }
    %r = $left(%q,8)
    %c = $left(%r,4)
    %c = $remove(%c,$chr(91),$chr(93))
    %l = $right(%r,-4)
    %l = $remove(%l,$chr(91),$chr(93))
    %s = $right(%q,-8)
    %s = $replace(%s,$+($chr(92),$chr(66)),$chr(32))
    if (%c != GE) && (%c != CP) && (%c != EA) && (%c != GN) && (%c != HE) && (%c != II) && (%c != LF) && (%c != MU) && (%c != NW) && (%c != PR) && (%c != RL) && (%c != RM) && (%c != SP) && (%c != TN) && (%c != UL) { %c == XX }
    if (%l != EN) && (%l != DE) && (%l != NL) && (%l != FR) && (%l != SP) && (%l != IT) { %l == XX }
    if (%c == XX) { %l = XX }
    if (%l == XX) { %c = XX }
    if ($prop == cat) { %x = %c }
    if ($prop == lan) { %x = %l }
    if ($prop == chn) { %x = %s }
    return %x
  }
}

alias ta.getroom {
  var %m, %c, %r, %l, %s
  if ($1) || ($prop) {
    if ($left($1,1) == $chr(35)) { %m = $right($1,-1) }
    elseif ($left($1,2) == $+($chr(37),$chr(35))) { %m = $right($1,-2) }
    else { %m = $1 }
    %c = $ta.catlang(%m).cat
    %l = $ta.catlang(%m).lan
    if ($left(%m,1) == $chr(91)) && ($left($right(%m,-3),1) == $chr(93)) {
      %m = $right(%m,-8)
    }
    %m = $upper(%m)
    if ($prop == normal) {
      %m = $replace(%m,$+($chr(92),$chr(66)),$+($chr(37),$chr(50),$chr(48)))
      %m = $lower(%m)
      %s = http://www.tech-arena.org/chatroom.php?cat= $+ %c $+ $chr(38) $+ lan= $+ %l $+ $chr(38) $+ rm= $+ %m
    }
    if ($prop == hex) {
      %m = $replace(%m,$+($chr(92),$chr(66)),$chr(32))
      %s = http://www.tech-arena.org/chatroom.php?cat= $+ %c $+ $chr(38) $+ lan= $+ %l $+ $chr(38) $+ rhx= $+ $ta.room(%m).encode
    }
    return %s
  }
}
alias getme {
  var %r
  if ($left($me,6) == $+(Admin,$chr(95))) { %r = $me }
  elseif ($left($me,6) == $+(Sysma,$chr(95))) { %r = $me }
  elseif ($left($me,6) == $+(Sysop,$chr(95))) { %r = $me }
  elseif ($left($me,6) == $+(Guide,$chr(95))) { %r = $me }
  elseif ($right($me,6) == $+($chr(95),Bot)) { %r = $me }
  else { %r = $ta.nick($me).decode }
  return %r
}

menu status,channel,query {
  $style(2) $+ $getme $+ :{ return }
  -
  TA $chr(45) Main Menu
  .View Room List
  ..Server Rooms:{ list [XX] }
  ..All Rooms:{ list }
  ..-
  ..City Chats:{ list [GE] }
  ..Computing:{ list [CP] }
  ..Entertainment:{ list [EA] }
  ..General:{ list [GN] }
  ..Health & Medicine:{ list [HE] }
  ..Interests:{ list [II] }
  ..Lifestyles:{ list [LF] }
  ..Music:{ list [MU] }
  ..News:{ list [NW] }
  ..Peers:{ list [PR] }
  ..Religion:{ list [RL] }
  ..Romance:{ list [RM] }
  ..Sports & Recreation:{ list [SP] }
  ..Teens:{ list [TN] }
  ..Unlisted:{ list [UL] }
  .-
  .Create Room:{ create }

}

menu channel {

  TA $chr(45) Room Commands $+($chr(91),$ta.catlang($active).chn,$chr(93))
  .Get the room's URL
  ..Hex:{ echo -a $ta.getroom($active).hex }
  ..Normal:{ echo -a $ta.getroom($active).normal }
  ..-
  ..Open the room in Internet Explorer:{ run iexplore $ta.getroom($active).hex }
  .-
  .Access List:{ accessx }
  .-
  .Room Modes
  ..$iif(t isincs $gettok($chan($chan).mode,1,32),$style(1)) $+ Only ops set Topic: mode $chan $iif(t isincs $gettok($chan($chan).mode,1,32),-,+) $+ t
  ..$iif(u isin $gettok($chan($chan).mode,1,32),$style(1)) $+ Knock Mode: mode $chan $iif(u isin $gettok($chan($chan).mode,1,32),-,+) $+ u
  ..$iif(m isin $gettok($chan($chan).mode,1,32),$style(1)) $+ Spectator (Moderated) Mode: mode $chan $iif(m isin $gettok($chan($chan).mode,1,32),-,+) $+ m
  ..$iif(w !isincs $gettok($chan($chan).mode,1,32),$style(1)) $+ Whispers Enabled: mode $chan $iif(w isincs $gettok($chan($chan).mode,1,32),-,+) $+ w
  ..$iif(h isin $gettok($chan($chan).mode,1,32),$style(1)) $+ Hidden Room (Not on the room list): mode $chan $iif(h isin $gettok($chan($chan).mode,1,32),-,+) $+ h
  ..-
  ..$iif(f isin $gettok($chan($chan).mode,1,32),$style(3),$style(2)) $+ TA Profanity Filter Enabled:{ return }
  .Set Room Lag...:PROP $chan LAG $$input(Please enter the amount of lag you want to add $chr(40) $+ number of seconds from 0 to 2 $+ $chr(41),129,Change Room Lag)
  .-
  .Change Room Topic...:PROP $chan TOPIC : $+ $$input(Enter the room topic:,129,Change Room Topic)
  .Unset Room Topic:PROP $chan TOPIC :
  .-
  .Change Welcome Message...:prop $chan onjoin : $+ $$input(Enter the welcome message:,129,Change Welcome Message)
  .Unset Welcome Message:prop $chan onjoin :
  .-
  .Change Owner Key...:PROP $chan OWNERKEY $$input(Enter the new gold $chr(40) $+ owner $+ $chr(41) key:,129,Change Owner Key)
  .Unset Owner Key:PROP $chan OWNERKEY :
  .-
  .Change Host Key...:PROP $chan HOSTKEY $$input(Enter the new brown $chr(40) $+ host $+ $chr(41) key:,129,Change Host Key)
  .Unset Host Key:PROP $chan HOSTKEY :
  .-
  .Change other room settings...:channel $chan
}

menu query {
  TA $chr(45) Whisper Commands
  . $+ $1 $+ :{ echo $color(info2) -at * Normal: $$1 / Decoded: $ta.nick($$1).decode | clipboard $$1 }
  .. $+ $iif($ial($1 $+ *,1).addr != $null,$ifmatch) $+ :{ echo $color(info2) -at * Address: $ial($1 $+ *,1) | clipboard $ial($1 $+ *,1) }
}