2010/02/21

IRCとTwitterの同期

しなです。小ねたをひとつ。

連絡を取るときは,過去にいろいろ作った関係上IRCを使うことが多いのです。
しかし,最近はTwitterもあるので同期できないか調べてみた。

#まぁ某所のログはすでに10年以上たまってるし。
#PCや携帯からもIRCログが読めるので,何とか有効活用したかったってのもあるんだけど。

ググればいくつか出て来るんだが,今回はサーバーを使わない方向で。

といってもLimeChatのサンプルスクリプトにそのもの(「Twitter にポスト」)があるんだけどね。
このままだと /tw ステータス って打ち込まないといけないし。あとめんどくさい。
なのでイベントを変えて処理を追加してみた。


function event::onChannelText(prefix, channel, text)
{
  if (prefix.nick == myNick) {
    // 自分が送信した時の処理
    // Twitter へPOST
    var user = '....';                 // Twitter username
    var pass = '.....';                // Twitter password
    
    var req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = function() {
        if (req.readyState == 4) {
          log('POST OK: ' + req.responseText);
        }
      }
      req.open('POST', 'http://twitter.com/statuses/update.json', true, user, pass);
      req.send('status=' + encodeURIComponent(text));
    }

  } else {
    // 受信した時の処理
    // なにもしない
  }
}


あとはLimeChat上の設定でこのスクリプトを使うようにしてやればよい。


しかしクライアントでJavascript使えるのは便利かもな

0 件のコメント: