yashiganiの英傑になるまで死ねない日記

週末はマスターバイクでハイラルを走り回ります

ワンマンアーミー…たった一人の軍隊なのだよ

OOに出てくるグラh…今はミスター・ブシドーをリスペクトしすぎてこんなものを作ってみた.

ミスター・ブシドー (Mr_BUSHIDO) on Twitter

使い方

  1. @Mr_BUSHIDOをfollowします.
  2. ミスター・ブシドーがあなたをガンダムと勘違いして話しかけてくれます.


ソースはこんな感じです.Rubyは初めて書いたのでつたないですが,ご了承ください.

#!/opt/local/bin/ruby

require 'rubygems'
gem 'twitter4r', '0.3.0'
require 'twitter'

require 'time'

graham = [
    ["グラハム=エーカー! ",                     " の存在に心奪われた男だ!!"],
    ["よもや ",                                  " に出会えようとは.乙女座の私にはセンチメンタリズムな運命を感じずにはいられない."],
    ["身持ちが堅いな! ",                        " っ!"],
    ["抱きしめたいな! ",                        " !!まさに眠り姫だ!"],
    ["堪忍袋の尾が切れた!許さんぞ! ",          " !!"],
    ["私の顔に何度泥を塗れば気が済むのだ… ",    " ッ!"],
    ["今日の ",                                  " は阿修羅すら凌駕する存在だ!"],
    ["",                                        " は我慢弱い."],
    ["逢いたかった…逢いたかったぞ! ",          " !!"],
    ["やはり私と ",                              " は運命の赤い糸で結ばれていたようだな."],
    ["",                                        " の圧倒的な性能に私は心奪われた.この気持ち,まさしく愛だ!!"],
    ["それでこそだ ",                            " !!"],
    ["",                                        " !引導を渡す!"],
    ["肩に動力のある,二個付きの ",              " は私が相まみえる."]
]

tw = Twitter::Client.new :login=>'Mr_BUSHIDO', :password=>'禁則事項です'
followers = tw.my :followers

bushido = graham[rand graham.length]
status = tw.status :post, bushido[0] + "@" + followers[rand followers.length].screen_name + bushido[1]

これをcronで15分ごとに起こしてます.

Ruby的反省

  • Rubyでは()を省略できるみたいなので省略して書いてみたら,逆にわかりにくい気がする.
  • 「:login」なんかの「:」の意味がイマイチよくわからん.
  • followers[rand followers.length].screen_nameとか長すぎる.なんとかしろ.

その他反省

  • 15分ごとはあまりに機械的すぎるので,もう少しランダムにpostするようにしたい.
  • postのパターンをもう少し増やしたい.
  • cronからgemを使う場合,色々めんどくさい.=> d:id:crimaru:20081010 が参考になりました.


改善点は多いですが,一応完成です.
機械的すぎるので,もう少し人間っぽさを持たせたいですね.