東京の風景。勉強したこと。感じたこと。の雑記帳。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

twitter と Windows Live Messenger のステータス欄を同期する.

だいぶ乗り遅れた感がありますが,twitter を始めました.
でも,twitter 的な感じで現在の状態をちょっと書くようなところって
他にも色々あるじゃないですか.

全部更新するのはめんどい.
集約の第一歩として,Windows Live Messenger のステータス欄と同期するようにしました.
第二歩?それがあるかは知らない.

- - - - - 8< - - - - - キリトリ - - - - - 8< - - - - -

とりあえず以下がインストールされてる前提で話を進めます.

・Windows Live Messenger
    言わずとしれた IM クライアント.
    以下メッセ.

・Messenger Plus!
    メッセの機能を拡張するソフト.
    最新版でどうかは知らないけど,
    デフォルトでアドウェアがインストールされるので,
    インストール時の選択肢には注意.
    以下 Plus!.

- - - - - 8< - - - - - キリトリ - - - - - 8< - - - - -

ここまでインストールされてると,スクリプトを使ってメッセに色々機能を追加できます.
ここでは既に目的の機能を持つスクリプトを作ってくれた人がいるので,これを利用します.
スクリプト名でググればたぶんすぐ見つかります.
見つけられない人はあきらめてください.

・TwitPSM (ver 1.0)
    メッセのステータス欄が更新されたら,twitter に自動投稿するスクリプト.

・rss2psm Nuts (ver 0.2)
    twitter に限らず RSS を取得してをメッセのステータス欄に反映するスクリプト

Plus! が導入された環境であれば,スクリプトを開こうとするとダイアログが開くので
そのままインストールすればメッセに適用されます.
しかし,これら 2 つのスクリプトをそのまま利用すると,

    twitter に投稿するとメッセのステータス欄が更新される.
        ↓        ↑
    メッセのステータス欄が更新されたので,twitter に自動投稿される.

という無限ループに陥るので,スクリプトに修正を加えます.
以下の修正では,

    メッセのステータス欄を「ほげ」に更新.
        ↓
    twitter に 「ほげ by Windows Live Messenger」と自動投稿.

    twitter に「ほげらっちょ」と投稿.
        ↓
    メッセのステータス欄を「ほげらっちょ by twitter」に自動更新

という状態を目指します.またこれらのフォーマットを元に,投稿元を判別します.
動作イメージは以下のような感じ.

messenger-twitter4.png messenger-twitter5.png
こんな感じになります.



1. スクリプト修正画面の開き方

messenger-twitter.png
右下のブロックみたいなのがスクリプト管理メニューを開くボタン.

ボタンを押した後,「スクリプト設定...」を選択すると以下の設定画面が開きます.

messenger-twitter2.png
導入済のスクリプトが一覧に並んでいます.

スクリプト名を選択して,下にある「編集」ボタンを押すとスクリプト編集画面が開きます.

messenger-twitter3.png
インストールしたスクリプトはいくつかのファイルから構成されている場合があります.
編集するファイルは左上のプルダウンメニューから選択できます.



2. TwitPSM の修正・設定
スクリプト編集画面を開いて,TwitPSM.js を選択します.
修正個所は大きく分けて 2 箇所.

メッセから twitter に自動投稿されるメッセージの末尾に「by Windows Live Messenger」と追加.
before
17:            Debug.Trace("status="+message);
18:            xmlHttp.send("status="+message);    

after
17:            Debug.Trace("status="+message+" by Windows Live Messenger");
18:            xmlHttp.send("status="+message+" by Windows Live Messenger");    


メッセのステータス欄に「by twitter」が含まれるときは twitter から更新されたと見なし,
twitter への自動投稿を行わないようにする.
before
28:    function OnEvent_MyPsmChange(new_psm){
29:        Debug.Trace(new_psm);
30:        Twitter.send(new_psm);
31:    }

after
28:    function OnEvent_MyPsmChange(new_psm){
29:        if (!new_psm.match(/by\stwitter/)){
30:            Debug.Trace(new_psm);
31:            Twitter.send(new_psm);
32:        }
33:    }


スクリプトの修正が終わったら, TwitPSM の設定を行います.
twitter のアカウント情報を入れるだけで大丈夫です.

messenger-twitter6.png messenger-twitter7.png




3. rss2psm Nuts の修正
twitter の投稿にはつぶやきの前にユーザ名がついてしまいますが,
これが
スクリプト編集画面を開いて,feedReading.js を選択します.
メッセから twitter に自動投稿されたメッセージ (by Windows Live Messenger と入ってるもの) が再びメッセに反映されないようにします.
また,twitter における返信メッセージはメッセに反映しないようにし,
さらにメッセージにユーザ名が自動付加されるのを修正します.

before
62:        if ( readTitle.length > 0 ) postTitle = readTitle[0].firstChild.nodeValue;

after
62:        if ( readTitle.length > 0 ) postTitle = readTitle[0].firstChild.nodeValue;
63:
64:        // ignore message posted by Windows Live Messenger
65:        if (postTitle.match(/by\sWindows\sLive\sMessenger/)) return;
66:        
67:        // check reply message
68:        var atMarkIndex = postTitle.indexOf("@");
69:        if ( atMarkIndex >=0 ) return;
70:        
71:        // remove username
72:        var colonIndex = postTitle.indexOf(" ")+1;
73:        postTitle = postTitle.substr(colonIndex);


スクリプトの修正が終わったら,rss2PSM Nuts の設定を行います.
Feed URL には自分の twitter の RSS を指定します.
更新周期はお好みで.
メッセージフォーマットも好きなようにしていいですが,今回は必ず「by twitter」と入れるようにします.

messenger-twitter8.png messenger-twitter9.png




以上で,当初目標として掲げた twitter とメッセのステータス欄が同期するようになりました.
まぁどの程度役に立つかはそれぞれの利用状況によるとは思いますが.
何かおかしいところとかあったら教えてくれると嬉しいです.
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する
プロフィール

ひかる

  • Author:ひかる
  • SE っぽいバイトで学費を稼ぎつつ,コンピュータの研究をしている大学院生.主に P2P のような分散システムを扱っている.

    最近のマイブームは写真を撮ること.

    眼と頭が悪い.万年金欠.


    本ブログに記載されている情報は,自己責任の下でご利用ください.
    損害等が発生しても当方は一切責任を負いません.
天気予報

-天気予報コム- -FC2-
FC2カウンター
タグcloud
最近の記事
最近のコメント
最近のトラックバック
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
ブログ内検索
RSSフィード
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。