Jump to content

Twitter Reader


Jagie

Recommended Posts

Hey I recently found this script:

 

 

 

;Twitter Channel by Ford_Lawnmower irc.mindforge.org #USA-Chat
menu * {
  .Twitter Channel
  ..$iif($timer(mIRCTwitter),Off,On): { 
    if ($timer(mIRCTwitter)) { .timermIRCTwitter off }
    else {
      mIRCTwitter
      .timermIRCTwitter -o 0 $iif($hget(mIRCTwitter,Delay),$hget(mIRCTwitter,Delay),60) mIRCTwitter 
    }
  }
  ..SetUp
  ...Set UserName and Password:TwitterAuthCheck $+($$?="Enter your Username",:,$$?*="Enter your Password")
  ...Set Delay:hadd -m mIRCTwitter Delay $iif($$?="Enter Delay in Seconds" > 29,$!,60) | mtsave
  ...Set Method of Output
  ....Bot Message(.msg #Channel):hadd mIRCTwitter Method $network .msg $$?="Enter the Channel Name including the #prefix" | mtsave
  ....Message(msg #Channel):hadd mIRCTwitter Method $network msg $$?="Enter the Channel Name including the #prefix" | mtsave
  ....Echo(Echo -at):hadd mIRCTwitter Method echo -at | mtsave
  ....Window(Echo -t @Twitter):hadd mIRCTwitter Method echo -t @Twitter | mtsave
}
alias -l mIRCTwitter { 
  if ($hget(mIRCTwitter,Active)) { GetmIRCTwitter $v1 $gettok($decode($v1,m),1,58) }
  else {
    .timermIRCTwitter off
    echo -a Error!! No UserName:Password Data. Please return to the menu and setup the script properly
  }
}
alias -l GetmIRCTwitter {
  var %sockname $+(mIRCTwitter,$network,$2,$ticks)
  sockopen %sockname twitter.com 80
  sockmark %sockname $+(/statuses/home_timeline/,$2,.rss?since_id=,$iif($hget(mirctwitter,last_id),$hget(mirctwitter,last_id),1),&count=50) $1 0 1 0
}
On *:sockopen:mIRCTwitter*: {
  if (!$sockerr) {
    sockwrite -nt $sockname GET $gettok($sock($sockname).mark,1,32) HTTP/1.0
    sockwrite -n $sockname Host: twitter.com
    sockwrite -nt $sockname Authorization: Basic $gettok($sock($sockname).mark,2,32)
    sockwrite -n $sockname $str($crlf,2)
  }
  else { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
}
On *:sockread:mIRCTwitter*: {
  if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
  else {
    var %mIRCTwitter | sockread %mIRCTwitter
    if (<item> isin %mIRCTwitter) { sockmark $sockname $puttok($sock($sockname).mark,1,3,32) }
    elseif ($gettok($sock($sockname).mark,4,32)) && ($regex(%mIRCTwitter,//([^/]*)</guid>/)) {
      hadd mIRCTwitter Last_ID $regml(1)
      sockmark $sockname $puttok($sock($sockname).mark,0,4,32)      
    }
    elseif ($gettok($sock($sockname).mark,3,32)) && ($regex(%mIRCTwitter,<title>(.*)</title>)) {
      sockmark $sockname $puttok($sock($sockname).mark,$calc($gettok($sock($sockname).mark,5,32) + 1),5,32)
      var %Method $hget(mIRCTwitter,Method)
      if (%Method == echo -at) { %Method $fix($+(09<07,$gettok($regml(1),1,58),09>04) $gettok($regml(1),2-,58)) }
      elseif ($me ison $gettok(%Method,3,32)) {
        .timer 1 $gettok($sock($sockname).mark,5,32) $gettok(%Method,2-,32) $fix($+(09<07,$gettok($regml(1),1,58),09>04) $gettok($regml(1),2-,58))
      }
      else {
        if (!$window(@Twitter)) { window -E @Twitter }
        var %NextTweet $fix($+(09<07,$gettok($regml(1),1,58),09>04) $gettok($regml(1),2-,58)) 02,08[04RT02]
        echo -t @Twitter %NextTweet
        if ($istok(%NextTweet,%MyTwitterName,32)) {
          if (!$window(%MyTwitterName)) { window -E %MyTwitterName }
          echo -t %MyTwitterName %NextTweet
        }
      }
    }
  }
}
alias -l urlencode return $regsubex($1-,/([^a-z0-9])/ig,$+(%,$base($asc(\t),10,16,2)))
alias -l TwitterAuthCheck {
  var %sockname $+(mTwitterAuthCheck,$network,$2,$ticks)
  sockopen %sockname twitter.com 80
  sockmark %sockname /account/verify_credentials.xml $encode($1,m)
}
On *:sockopen:mTwitterAuthCheck*: {
  if (!$sockerr) {
    sockwrite -nt $sockname GET $gettok($sock($sockname).mark,1,32) HTTP/1.0
    sockwrite -n $sockname Host: twitter.com
    sockwrite -n $sockname Authorization: Basic $gettok($sock($sockname).mark,2,32)
    sockwrite -n $sockname $crlf
  }
  else { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
}
On *:sockread:mTwitterAuthCheck*: {
  if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
  else {
    var %mTwitterAuthCheck | sockread %mTwitterAuthCheck
    if (HTTP/1.1 401 Unauthorized isin %mTwitterAuthCheck) { 
      echo -a Incorrect UserName:Password Combination!! Please Try Again with the Correct Information.
      sockclose $sockname
      return
    }
    elseif ($regex(%mTwitterAuthCheck,/<name>(.*)</name>/)) { 
      echo -a $regml(1) Your Account has been Verified and Your Information has been Stored in my Secure Encrypted Database.
      hadd -m mIRCTwitter Active $gettok($sock($sockname).mark,2,32)
      set %MyTwitterName $+(@,$gettok($decode($hget(mIRCTwitter,Active),m),1,58))
      mtsave
      sockclose $sockname
    }
  }
}
alias -l mIRCTweet {
  if ($hget(mIRCTwitter,Active)) { mTwitterUpdate $v1 echo -a $1- }
}
;mTwitterUpdate mimeEncodedAuth method place UnEncodedUpdate
alias -l mTwitterUpdate {
  var %sockname $+(mTwitterUpdate,$network,$2,$ticks)
  sockopen %sockname twitter.com 80
  sockmark %sockname $2-3 /statuses/update.xml $1 $+(status=,$urlencode($left($4-,140)))
}
On *:sockopen:mTwitterUpdate*: {
  if (!$sockerr) {
    sockwrite -nt $sockname POST $gettok($sock($sockname).mark,3,32) HTTP/1.1
    sockwrite -n $sockname Host: twitter.com
    sockwrite -nt $sockname Authorization: Basic $gettok($sock($sockname).mark,4,32)
    sockwrite -n $sockname Content-Type: application/x-www-form-urlencoded
    sockwrite -n $sockname Content-Length: $len($gettok($sock($sockname).mark,5,32))
    sockwrite -n $sockname $crlf
    sockwrite -nt $sockname $gettok($sock($sockname).mark,5,32)
    sockwrite -n $sockname $crlf
  }
  else { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
}
On *:sockread:mTwitterUpdate*: {
  if ($sockerr) { echo -st Socket Error $nopath($script) | sockclose $sockname | return }
  else {
    var %mTwitterUpdate | sockread %mTwitterUpdate
    if (HTTP/1.1 401 isin %mTwitterUpdate) { 
      $gettok($sock($sockname).mark,1-2,32) Username/Password Incorrect. Please message me to properly setup your account.
    }
    elseif (HTTP/1.1 502 isin %mTwitterUpdate) || (HTTP/1.1 503 isin %TwitterUpvar) {
      $gettok($sock($sockname).mark,1-2,32) Servers are Busy. Please try again Later.
    }
    elseif (HTTP/1.1 500 isin %mTwitterUpdate) { $gettok($sock($sockname).mark,1-2,32) Internal Server Error. }
    elseif (HTTP/1.1 403 isin %mTwitterUpdate) { $gettok($sock($sockname).mark,1-2,32) Connection was actively refused. }
    elseif (HTTP/1.1 400 isin %mTwitterUpdate) { $gettok($sock($sockname).mark,1-2,32) Unknown Error }
    elseif (HTTP/1.1 200 isin %mTwitterUpdate) { $gettok($sock($sockname).mark,1-2,32) Updating Status.. Please Wait... }
    elseif (</status> isin %mTwitterUpdate) { .timer 1 3 $gettok($sock($sockname).mark,1-2,32) Status Updated. }   
  }
}
On *:input:@Twitter,%MyTwitterName: {
  if ($left($1,1) != /) {
    haltdef
    echo -t $active $+(07<09,$mid(%MyTwitterName,2-),07>09) $1-
    mIRCTweet $1-
  }
}
alias -l fix { return $replace($regsubex($1-,/\&\#([0-9]{1,});/g,$utf8(\t)),",",&,&,>,>,<,<,',',|,,$chr(9),$chr(32)) }
alias -l UTF8 {
  if ($1 < 255) { return $chr($1) }
  if ($1 >= 256) && ($1 < 2048) { return $+($chr($calc(192 + $div($1,64))),$chr($calc(128 + $mod($1,64)))) }
  if ($1 >= 2048) && ($1 < 65536) { return $+($chr($calc(224 + $div($1,4096))),$chr($calc(128 + $mod($div($1,64),64))),$chr($calc(128 + $mod($1,64)))) }
  if ($1 >= 65536) && ($1 < 2097152) {
    return $+($chr($calc(240 + $div($1,262144))),$chr($calc(128 + $mod($div($1,4096),64))),$chr($calc(128 + $mod($div($1,64),64))),$&
      $chr($calc(128 + $mod($1,64))))
  }
}
alias -l div { return $int($calc($1 / $2)) }
alias -l mod {
  var %int $int($calc($1 / $2))
  return $calc($1 - (%int * $2))
}
alias -l H2U { return $utf8($base($1,16,10)) }
alias -l mtsave {
  .timermIRCTwitter -o 0 $iif($hget(mIRCTwitter,Delay),$hget(mIRCTwitter,Delay),60) mIRCTwitter
  if ($hget(mIRCTwitter)) { hsave mIRCTwitter mIRCTwitter.hsh }
}
on ^$*:HOTLINK:/^<([^<>]*)>/S:@Twitter,%MyTwitterName:{
  if ($1) { return }
  halt
}
on ^$*:HOTLINK:/^\[RT\]/S:@Twitter,%MyTwitterName:{
  if ($1) { return }
  halt
}
on $*:HOTLINK:/^<([^<>]*)>/S:@Twitter,%MyTwitterName:{
  if ($mouse.key) { editbox $active $+(@,$strip($regml(1))) }
  halt
}
on $*:HOTLINK:/^\[RT\]/S:@Twitter,%MyTwitterName:{
  if ($mouse.key) {
    noop $regex($hotline,/<([^<>]*)>(.*)\[RT\]/S)
    editbox $active RT $strip($+(@,$regml(1)) $regml(2)) 
  }
  halt
}
On *:Start: {
  hmake mIRCTwitter 1
  if ($isfile(mIRCTwitter.hsh)) { hload mIRCTwitter mIRCTwitter.hsh | mtsave }
}
On *:Unload: {
  if ($hget(mIRCTwitter)) { hfree mIRCTwitter }
  if ($isfile(mIRCTwitter.hsh)) { .remove mIRCTwitter.hsh }
  unset %MyTwitterName
}

 

 

 

 

Would it be possible for someone to make it so when you do like "@Last" It will message out the last tweet from the account that was made :)

 

Thanks to whoever can do it! :)

 

Jagie/PowerZ

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...