twitter発言スクリプト

そんなもん書くまでも無くあるだろう。でも探すまでもなく書きゃいいじゃん。探したり動かすのってやっぱりめんどうだから。
ほとんどこの前書いたmixi日記投稿スクリプトの使い回し。
他の人の発言が見えないところとかが他のTwitterクライアントと比べて優れている点です。

#!/usr/bin/env ruby

require 'tempfile'
require 'rubygems'
require 'mechanize'
require 'kconv'

USER = 'username'
PASS = 'password'
EDITOR = 'C:/hoge/prg/gp/GreenPad.exe'
LOG = 'twitter.log'
def login
  agent = WWW::Mechanize.new
  page = agent.get('http://twitter.com/login')
  login_form = page.forms[1]
  login_form['username_or_email'] = USER
  login_form['password'] = PASS
  home_page = agent.submit(login_form)
  return agent, home_page
end
def update(agent, home_page, text)
  update_form = home_page.forms[0]
  update_form['status'] = text
  agent.submit(update_form)
end
def edit_txt
  tmppath = ''
  Tempfile.open('twitter'){|file|
    tmppath = file.path
  }
  system(EDITOR, tmppath)
  texts = IO.readlines(tmppath)
  return texts
end
text = edit_txt.join.toutf8
agent, home_page = login
update(agent, home_page, text)

File.open(LOG, 'a'){|file|
  file.printf("%s %s\n", Time.now.strftime('%Y%m%d %X'), text)
}

test