twitterのポストを同時にmixiのボイスに投稿するコマンドラインクライアント

を見てたら常に同時にポストできるの作れそうと思って作ってみた。
mixi_mail, mixi_pass, twitter_mail, twitter_passを設定して使う。
@とQTとRTの時はmixiにポストしない。

#!/usr/bin/env ruby

require 'rubygems'
require 'mechanize'
require 'twitter'
require 'kconv'

mixi_mail = "mail"
mixi_pass = "pass"

twitter_mail = "mail"
twitter_pass = "pass"

def post_mixi(mail, pass, message)
  agent = WWW::Mechanize.new()
  page = agent.get("http://mixi.jp/")
  form = page.forms.first
  form['email'] = mail
  form['password'] = pass
  form.submit

  page = agent.get("http://mixi.jp/recent_echo.pl")
  form = page.forms[2]
  form['body'] = message.toutf8
  form.submit
end

def post_twitter(mail, pass, message)
  httpauth = Twitter::HTTPAuth.new(mail, pass)
  base = Twitter::Base.new(httpauth)
  base.update(message)
end

if ARGV[0] == nil
  puts "ARGV error"
  return
end
message = ARGV.join("")
post_twitter(twitter_mail, twitter_pass, message)
unless /(^@)|(RT)|(QT)/ =~  message
  post_mixi(mixi_mail, mixi_pass,   message)
end