[ruby] コマンドラインから送信できるtwitterクライアント。おまけに起床時間をはてなgraphに送信するスクリプトもつけておいた。
前半部分はhttp://la.ma.la/blog/diary_200704111918.htmとほとんど同じ。
使いかたは
./twitter_client.rb ほげほげ
おきた 起きたと投稿した場合にははてなグラフにポストされます。
ただし、グラフ名に日本語を指定した場合上手くいってません…。というわけでかなり中途半端なのですが
結構便利なので公開してみます。
#!/usr/bin/env ruby #twitter_client.rb require 'net/http' require 'kconv' require 'hatena/api/graph' twitter_user = '' #twitterのuser名 twitter_pass = '' #twitterのpassword hatena_user = '' #hatenaのuser名 hatena_pass = '' #hatenaのpassword status = ARGV.join(" ")||"" status_utf8 = " " + Kconv.toutf8(status) Net::HTTP.version_1_2 req = Net::HTTP::Post.new('/statuses/update.json') req.basic_auth(twitter_user, twitter_pass) req.body = 'status=' + URI.encode(status_utf8) Net::HTTP.start('twitter.com', 80) do |http| res = http.request(req) end # post hatena_graph def time2float time = Time.now min = (time.min.to_f / 60 * 100).to_i "#{time.hour}.#{min}".to_f end if !hatena_user.empty? && status_utf8 =~ /^.*(起きた|おきた).*$/ graph = Hatena::API::Graph.new(hatena_user, hatena_pass) wakeup_time = time2float graph.post('wakeup', Time.now, wakeup_time) #wakeupがグラフ名 end
zshは4.3からしかUTF-8対応しておらず日本語表示入力できないのも問題ですけど><
bashとか使うかzsh自分で上げてください。