mixiボイス用のPraggerプラグインを作ってみた

追記:「本家統合希望」と書いておくと、マージされるらしいので、統合希望にしておきますw

twitterからmixiボイスにマルチポストするRubyスクリプト書いた

それ、Praggerでできるよ!ってなわけで、Praggermixiエコーのソースを元にmixiボイスに対応させてみました.

## config.yaml sample
## - module: const_list
##   config:
##     - test_dayo
## - module: Publish::mixi::voice
##
## regist.yaml sample
## mixi:
##  username: hogehoge@hugahuga.aaa
##  password: xxxxxx

begin
  require 'kconv'
  require 'rubygems'
  require 'mechanize'
  require 'logger'
rescue LoadError
end

def voice( config, data )
  username = $reg['mixi']['username']
  password = $reg['mixi']['password']

  # login.
  agent = WWW::Mechanize.new
  page = agent.get( 'http://mixi.jp/' )
  form = page.forms[0]
  form.fields.find { |f| f.name == 'email'    }.value = username
  form.fields.find { |f| f.name == 'password' }.value = password
  form.fields.find { |f| f.name == 'next_url' }.value = "/home.pl"    
  page = agent.submit( form, form.buttons.first )

  # move to mixi echo page, and...
  page = agent.get( 'http://mixi.jp/recent_echo.pl' )
  form = page.forms[1]
  form.fields.last.value = data.to_s.toutf8

  # post it!
  agent.submit( form,form.buttons.first )
end

get_echoとget_echo_listも試してみたかったのですが、RSS::Maker がエラーをはかれたのでちょっと放置. 一番苦労したのは regist.yaml の使い方を調べたことだったりするw ドキュメントを整備したい!