Jetpack 使って Twitter でつぶやいてみる。

昨日に引き続きjetpackいじってみた。
今日はjetpack.lib.twitterに挑戦。色々試してたけど機能として形になったはつぶやきだけ orz

注意:twitterのID,PASSをsessionStorageに記憶させているので念のため本垢では使わないようお願いします。いわゆる自己責任で。
例によってセキュリティ的側面に自信がないので公開HTMLは置きません。ご容赦ください。。

使い方

  • スクリプト読み込み直後にidとpassを聞かれると思うので入力してください。一度入力するとsessionStorageに保存されるので次回以降入力の必要はありません。
  • アカウントを変更したい場合や間違えた場合は「SessionStorageのid,passwordをリセット」から下の二行のコメントアウトを一度削除して読み込みなおせば聞かれるはずです。問題なければまたコメントアウトしてください。
  • 右下にtwitterfaviconが表示されるのでそれをクリックするとつぶやけます。
(function() {
jetpack.statusBar.append({
  html: "<img src=\"http://twitter.com/favicon.ico\">",
  width: 20,
  onReady: function(widget){
    var focusedWindow = jetpack.tabs.focused.contentWindow;
    /* Twitterアイコンをクリックできるっぽく見せる */
    $("body",widget).css({cursor:"pointer"});
    
    /* このプラグイン用のsessionStorageを用意
     * 中身は今のところidとpassだけ。
     * (こういうの保存するってたぶんきっとやばいよね。。
     *  試すときは捨て垢+プロパティ名を変えて使用してください。)
     */
    if (!jetpack.sessionStorage.jpTweet) {
      jpTweetSessionStorage = jetpack.sessionStorage.jpTweet={};
    }else{
      jpTweetSessionStorage = jetpack.sessionStorage.jpTweet;
    }
    
    /* id password のセット
     * SessionStorage使って一度入力したIDは覚えるようにしてる。
     * ID変えたいときは一時的に↓のコメントアウトを取ればいいと思う。
     */
     
     /* SessionStorageのid,passwordをリセット */
     //jpTweetSessionStorage.aID   = null;
     //jpTweetSessionStorage.aPass = null;
     
    if (!jpTweetSessionStorage.aID||!jpTweetSessionStorage.aPass){
      var aID   = jpTweetSessionStorage.aID
                = focusedWindow.prompt('input your twitter id');
      var aPass = jpTweetSessionStorage.aPass
                = focusedWindow.prompt('input your twitter password');
    }else{
      var aID   = jpTweetSessionStorage.aID;
      var aPass = jpTweetSessionStorage.aPass;
    }
    
    var jpTweet = new jetpack.lib.twitter.Twit(aID,aPass);
    
    $(widget).click(function(){
      var aTweet = focusedWindow.prompt('いまなにしてる?');
      if(aTweet){
        jpTweet.tweet(aTweet + " [*jetpack]","",function(){
          jetpack.notifications.show(aID + " is maybe twit !\n" + aTweet);
        });
      }
    });
  }
});
})();

Todo

  • 自分宛のReplyを取得する事は出来たのでその新着のみを表示する。
  • 表示された新着にReplyできるような仕組みを作る。

上の二つが出来れば適度に集中したいときでも自分宛Replyを見逃さずに済むので個人的には色々ちょうど良い。

思ったこと。

Fx3.5にクロスドメインXMLHttpRequestが実装されてれば色々楽になるので気が向いたら実装されてるか調べてみる。

メモ:コード写経のすゝめ

という内容のエントリネタを思いついた。けど、頭の中でまとまってないのでまだ書かない。とりあえずメモ

  1. ここ数日Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編] のコードをとにかく写経してる。
  2. 内容が半分程度しかわかってなくてもちょっとした作法や文法、語彙が増えてる事に気づく。
  3. 他人のコードを読んで書き写す事で普段気づかないアプローチに気づく。とくに自分の場合はJavaScriptに使えそうなひらめきが結構あった。
  4. ひらめきってのは一度沸いてくると連鎖する事が多い。>モチベーションにつながる。
  5. 気づいたらJetpackでおもちゃ作ったりしてたよ!

そんな感じで写経おすすめ。そして写経で動くものが作れるActionScript 3おすすめ。ただ単に書き写してるだけだからそんなに頭使ってないのに結構色々頭に入ってきてて楽しい。全員に当てはまるのかは分からないけど、モチベーションあがらないなーって人は試してみて欲しい。
別に書籍じゃなくて wonderfl とかを写経するのもありだと思うよ!