2009-01-02
■[mac][twitter]termtter から growl に通知する 
Welcome to nginx!がおもしろそうなので、termtter から growl に通知してみた。
できていること
require 'meow' Termtter::Client.add_hook do |statuses, event| if !statuses.empty? && event == :update_friends_timeline growl = Meow.new("Termtter") statuses.reverse.each do |s| screen_name = s.user_screen_name text = s.text.gsub("\n",'') growl.notify(screen_name,text) end end end
これを好きなとこにおいて、.termtterから require すればOK*1。とりあえず、誰の発言かということとその内容はでる。
超簡単ですばらしいと思った。
よくわからないこと
現状よくわかんないのが、どうやってアイコンを出すかということで、
.termtterに、
module Termtter class Status %w( id text created_at truncated in_reply_to_status_id in_reply_to_user_id user_id user_name user_screen_name user_profile_image_url # ここに user_profile_image_url を追加した ).each do |attr| attr_accessor attr.to_sym end end class Client def get_timeline(uri, update_since_id = false) doc = Nokogiri::XML(open(uri, :http_basic_authentication => [@user_name, @password])) statuses = [] doc.xpath('//status').each do |node| status = Status.new %w( id text created_at truncated in_reply_to_status_id in_reply_to_user_id user/id user/name user/screen_name user/profile_image_url # ここにも user/profile_image_url を追加した ).each do |key| method = "#{key.gsub('/', '_')}=".to_sym status.send(method, node.xpath(key).text) end status.created_at = Time.utc(*ParseDate::parsedate(status.created_at)).localtime statuses << status end if update_since_id && !statuses.empty? @since_id = statuses[0].id end return statuses end end end
とかを書いて、user_profile_image_url にもアクセスできるようにして
Termtter::Client.add_hook do |statuses, event| if !statuses.empty? && event == :update_friends_timeline growl = Meow.new("Termtter") statuses.reverse.each do |s| screen_name = s.user_screen_name text = s.text.gsub("\n",'') tmp = OSX::NSURL.URLWithString_(s.user_profile_image_url) #ここと icon = OSX::NSImage.alloc.initWithContentsOfURL(tmp) #ここと growl.notify(screen_name,text,:icon=>icon) #ここを追加 end end end
というようにしてあげれば、いいのかなーと思ったのだけれど、OSX::NSURL.URLWithString_(s.user_profile_image_url)がとれるのもあったり、 nil になったりするのがあって、よくわからなくなっている。あとでちゃんと考えたい。
トラックバック - http://d.hatena.ne.jp/bubbles/20090102/1230903496
リンク元
- 26 http://jugyo.org/blog/2935
- 16 http://b.hatena.ne.jp/entry/d.hatena.ne.jp/bubbles/20090102/1230903496
- 15 http://www.google.co.jp/search?q=termtter&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja-JP-mac:official&client=firefox-a
- 11 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=termtter+mac
- 10 http://www.google.co.jp/search?q=termtter&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a
- 9 http://www.google.co.jp/search?q=termtter+mac&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 9 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC4QFjAA&url=http://d.hatena.ne.jp/bubbles/20090102/1230903496&ei=FGiPT9fHDMafiAeHq-X_Aw&usg=AFQjCNE6xdLbdefa4M08O8-8Uio6hQu2Rw&sig2=Fy6A-MIhKBsyVNei5yd69Q
- 6 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:en-US:official&hs=m0f&q=termtter&btnG=検索&lr=
- 6 http://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rls=org.mozilla:ja:official&hs=t7b&num=100&newwindow=1&q=termtter+mac&btnG=検索&lr=lang_ja&aq=f&oq=
- 6 http://www.google.co.jp/search?q=termtter+growl&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja-JP-mac:official&hl=ja&client=firefox-a

user_profile_image_url を取得できるようにプログラムを修正しました。
よかったらアップデートしていただければと思います。
ありがとうございます!
アップデートしました。