Omegle for mIRC — File Browser

OmegleformIRCv1.0 / OmegleformIRCv1.0 / omegle / omegle.mrc

omegle.mrc — 6.39 KB — Download this file

on Shitlist:join:#:{
  tokenize 32 $ulist($ial($nick)).info
  if ($1-2 == $network $chan) {
    cs op $chan $me
    kick $chan $nick S.list: ( $+ $nick $+ / $+ $3 $+ ) $4-
    ;mode # +b-o $wildsite $me
    mode # -o $me
  }
}

on Banlist:join:#:{
  tokenize 32 $ulist($ial($nick)).info
  if ($1-2 == $network $chan) {
    cs op $chan $me
    kick $chan $nick A.ban: ( $+ $nick $+ / $+ $3 $+ ) $4-
    mode # +b-o $wildsite $me
  } 
}

on Warn:join:#:{
  echo $color(kick) -t $chan *** Warning: $ulist($ial($nick)).info
}

alias -l omegle.address {
  return omegle.com 80
}

on ^Bot:Text:*:#:{
  ;echo -a $1-
  if ($left($1-,6) == 09,01) && ($numtok($1-,3) == 1) {
    set %123triv.q $md5($strip($1-))
    if ($readini(trivia.ini,123Triv,%123Triv.q)) { msg $chan $ifmatch }
  }
  if ($1 $3- == type quickly!) { msg $chan $2 | writeini trivia.ini 123Triv %123triv.q $2 }
  tokenize 32 $strip($1-)
  echo -t $chan < $+ $nick($chan,$nick).pnick $+ > $1-
  if ($1-5 == Times up! The answer was) { writeini trivia.ini 123Triv %123triv.q $left($7-,-3) }
  if ($1-3 $4-6 == That's the way The answer was) { echo -a Answer? $7- }
  if ($1-6 == Ahh, no the answer was NOT) { writeini trivia.ini 123Triv %123triv.q $left($gettok($7-,$calc($numtok($7-,32) - 2),32),-1) }
  haltdef
}

alias omegle.cleanup {
  sockclose Omegle.*
  unset Omegle.ID
}

alias omegle {
  if ($sock(Omegle*,0)) {
    if (!$?!="Are you sure you want to disconnect from the current session?") {
      halt
    }
    omegle.echo $color(kick) @Omegle ------ Session End ------
  }
  omegle.cleanup
  window -de @Omegle
  background -c @Omegle $shortfn($scriptdir $+ omegle.png)
  titlebar @Omegle - Omegle for mIRC (Beta)
  omegle.status Connecting to server...
  omegle.get /start
}

alias omegle.get {
  var %sn Omegle. $+ $md5($ticks $+ $r(1111,9999))
  sockopen %sn $omegle.address
  sockmark %sn $1-
}

on 1:sockopen:Omegle*:{
  if ($sockerr) {
    omegle.status Error connecting to server. Please try again. 
    return
  }
  sockwrite $sockname $omegle.senddata($gettok($sock($sockname).mark,1,32),$gettok($sock($sockname).mark,2-,32))
}

on 1:sockclose:Omegle*:{
  if ($gettok($sock($sockname).mark,1,32) == /events) {
    omegle.get /events $omegle.id
  }
}

alias omegle.status {
  dline @Omegle $line(@Omegle,0) | echo $color(gray) @Omegle [Omegle Status]: $1- $+ 
}

alias omegle.id return id= $+ %Omegle.ID

on 1:sockread:Omegle*:{
  var %x,%t,%l | sockread -f &s
  %t = $bvar(&s,1,$bvar(&s,0)).text
  %l = $calc($pos(%t,$+($crlf,$crlf),1)+4)
  %x = $mid(%t,%l,$calc($len(%t)-%l+1))
  if (start isin $sock($sockname).mark) {
    if ($noqt(%x) != win) {
      set %Omegle.ID $noqt(%x)
      omegle.echo $color(kick) @Omegle ----- Session Start -----
      omegle.status @Omegle Established connection to server, Session ID: %x
      omegle.get /events $omegle.id
    }
  }
  else {
    omegle.processraw %x
  }
}

alias omegle.processraw {
  if ($left($1-,1) $right($1-,1) == $chr(91) $chr(93)) {
    tokenize 32 $mid($1-,2,$calc($len($1-)-2))
    var %x $1-,%i 1,%a,%b 0,%c 0,%s
    while (%i <= $len(%x)) {
      %a = $mid(%x,%i,1)
      if (%a == $chr(91)) && (%c == 0) { inc %b | if (%b == 1) { %s = $calc(%i + 1) } }
      elseif (%a == $chr(93)) && (%c == 0) { dec %b | if (%b == 0) { noop $omegle.process($mid(%x,%s,$calc(%i - %s))) } }
      elseif (%a == $chr(34)) { %c = $iif(%c == 0,1,0) }
      inc %i
    }
  }
}

alias omegle.process {
  var %x $1-,%i 1,%a,%c 0,%d,%a1,%a2
  while (%i <= $len(%x)) {
    %a = $mid(%x,%i,1)
    if (%a == $chr(34)) { %c = $iif(%c == 0,1,0) }
    elseif (%a == $chr(44)) && (%c = 0) { %a1 = $left(%x,$calc(%i - 1)) | %a2 = $mid(%x,$calc(%i + 1),$calc($len(%x) - %i))) }
    inc %i
  }
  if (!%a2) { noop $omegle.command($omegle.trimws(%x)) }
  else { noop $omegle.command($$omegle.trimws(%a1),$$omegle.trimws(%a2)) }
}

alias -l omegle.trimws {
  var %x $1-
  while ($right(%x,1) == $chr(32)) { %x = $left(%x,-1) }
  while ($left(%x,1) == $chr(32)) { %x = $right(%x,-1) }
  return $noqt(%x)
}

alias omegle.echo {
  var %x $line(@Omegle,0)
  var %y $line(@Omegle,%x).color @Omegle $line(@Omegle,%x)
  dline @Omegle %x
  echo $1-
  echo %y
}

menu @Omegle {
  Connect with a Stranger:omegle
  Disconnect:omegle.disconnect
  ;$iif($sock(Omegle.*) == $null,$style(2)) Disconnect:omegle.disconnect
}

alias -l omegle.command {
  if ($1 == waiting) { omegle.status Looking for someone you can chat with. Hang on. }
  elseif ($1 == connected) { omegle.echo $color(join) -t @Omegle You're now chatting with a random stranger. Say hi! | omegle.status Connected! }
  elseif ($1 == gotMessage) { omegle.echo $color(text) -tm @Omegle <Stranger> $omegle.urldecode($2) | omegle.status Last message received at $asctime(HH:nn:ss) }
  elseif ($1 == strangerDisconnected) { omegle.status Your conversational partner has disconnected. | omegle.echo $color(kick) @Omegle ------ Session End ------ | omegle.cleanup }
  elseif ($1 == typing) { omegle.status Stranger is typing... }
  elseif ($1 == stoppedTyping) { omegle.status Stranger has stopped typing... }
  else { omegle.echo Script Error: Unknown Command: $1- }
}

alias omegle.urlencode return $regsubex($1-,/\G(.)/g,$iif((!$prop && \1 !isalnum) || $prop,$chr(37) $+ $base($asc(\1),10,16,2),\1))
alias omegle.urldecode return $1-
;$replace($regsubex($1-,/%(\w\w)/g,$chr($iif($base(\t,16,10) != 32,$v1,1))),$chr(1),$chr(32))

alias omegle.senddata {
  return POST $1 HTTP/1.0 $+ $crlf $+ Host: $gettok($omegle.address,1,32) $+ $iif($2,$crlf $+ Content-Type: application/x-www-form-urlencoded; charset=utf-8 $+ $crlf $+ Content-Length: $len($2)) $+ $crlf $+ $crlf $+ $2
}

on 1:KEYDOWN:@Omegle:*:{
  if ($keyval = 13) {
    var %x $editbox(@Omegle)
    if (%x) && ($left(%x,1) != /) {
      omegle.get /send $omegle.id $+ &msg= $+ $replace($omegle.urlencode($utfencode(%x)),$chr(37) $+ 0D,$chr(37) $+ 0A%0D,$chr(37) $+ 20,+)
    }
  }
}

on 1:input:@Omegle:{
  if ($left($1,1) != /) {
    omegle.echo $color(own) -t @Omegle <You> $1-
  }
}

alias omegle.disconnect {
  omegle.get /disconnect $omegle.id
  omegle.echo $color(kick) @Omegle ------ Session End ------
  omegle.status You have ended the chat session. 
  .timer 1 1 omegle.cleanup
}

;stoppedtyping
;typing

;          case "waiting":
;                A("Looking for someone you can chat with. Hang on.");