Twitterのログ保存用に TweetIrcGateway (TwitterIrcGateway) のスクリプト書いてみた。
きっかけ
Twitterのログ
Twitterは、本家自体が遡れるTweet数が限られてるので、過去の発言をたどり難い。
そのため、掲示板やらでよくある「過去ログを見ろ」という文化はない。
これとゆるい関係によって、同じような質問を何度してもうるさく言われることが少ないだろう。
でも、過去の有益な情報を探したいこともある。
Googleリアルタイム検索あれば、誰がどんな感じのことを言ったかで
検索することもできたのだが、Googleリアルタイム検索はなくなってしまった。
24時間以内ならYahooのリアルタイム検索で探すこともできる。
どちらも、制約があるので、途中までしか遡れない
特に、ちょっと2〜3日前の勉強会をまとめようとしたり、それ関連で
2〜3週間前のTweetを探して、ブログにまとめようとするときには困る。
なので、ログ機能が欲しい場合もある。
Twilog、Twieveなどのサービスは自分の発言とRT、Favしか保存できない。
Twitterクライアントも、ログ機能をもってるものが少ない。
Tweenも手動で保存はできるけど、保存しないとダメだ。
TweetIrcGateway (TwitterIrcGateway) と LimeChat2 で対応
そこで TweetIrcGateway (TwitterIrcGateway)とIRCクライアントの LimeChat を併用して使っている。
これで、起動してる限りのTweetは保存できるようになっている。
機能拡張。
それでも、過去のTweetをブログに載せようとすると、ググッても引っかからずに
TweetのStatusIDが分からないこともある。
TweetIrcGateway (TwitterIrcGateway)には、Ruby、または、Pythonで拡張機能が書けるようになっている。
機能仕様
Tweetの内容 (TIG用のTypableMapKey) [StatusID:XXXXXXX]
後ろにStatusIDを追加することができる。
(orange_clover) [Groovy]エピソード満載なGroovyポロシャツをもう一度制作しよう http://t.co/6k5rQXX3 (vige) [StatusID:117787284002181120]
ソース
- add_statusid.rb
- 内容
#!/usr/bin/env ruby Session.pre_send_message_timeline_status do |sender, e| e.text = e.text + " [StatusID:" + e.status.id.to_s + "]" end
設定
- 「C:\Program Files\TwitterIrcGateway\Bin\Configs\{Twitter ユーザー名}\scripts\add_statusid.rb」 にコピー
- #Cosoleに移動
- #Cosole で DLR を実行
- #Cosole reload を実行(スクリプトが読み込まれるはず)
古いTweetを拾えるかのテスト
Javaはガベージコレクションの関係でVMwareなどの仮想化と相性がわるいらしいから
URLを指定すれば、読み込めた。
http://twitter.com/lumin/status/17243259501 http://twitter.com/orange_clover/status/17243780286 http://twitter.com/lumin/status/17244007246 http://twitter.com/smzksts/status/17244753787 http://twitter.com/lumin/status/17245198724 http://twitter.com/lumin/status/17245198724 http://twitter.com/lumin/status/17245333082
上のTweetは、1年以上前のものだから、が3000tweetを超えてるとお思うけど。。。
[twitter:@nightmare_tim]
コメントでもらったやりたいことと上の記事の内容があってる?
合わせて仮想化とGCの相性について、現在どうなってるか
教えてくれたらありがたい。