今日、作りました!
Twitterしたら自動で自分のMixiエコーを書いてくれるプログラム~。
梨木のTwitterが自動で梨木のMixiエコーに投稿してくれます!! TwitterMailも一緒に使って携帯からすぐにポストできます。 http://twittermail.com/

twitter2mixi.rb
#!/home/cyberwave/local/bin/ruby -Ks require 'rubygems' require 'mechanize' gem('twitter4r', '>=0.2.0') require 'twitter' require 'open-uri' require 'kconv' require 'yaml' require 'csv' # 環境準備 # gem install twitter4r # gem install mechanize --version "= 0.8.5" # コンフィグ情報読込 config = YAML.load_file(File.expand_path(File.dirname(__FILE__)) + '/twitter2mixi.yaml') # twitter つぶやき取得 twitter = Twitter::Client.new(:login => config['twitterusername'], :password => config['twitterpassword']) timeline = twitter.timeline_for(:user) status = timeline[0] puts status.user.screen_name, status.text.toutf8 twitterlaststatus = status.text.toutf8 if twitterlaststatus == nil exit end # つぶやき更新状況の確認 f = open(config['statustempfile']) mixilaststatus = f.gets f.close print mixilaststatus if mixilaststatus == nil || twitterlaststatus.chomp != mixilaststatus.chomp puts "Mixiエコーを更新します。" f = open(config['statustempfile'], 'w') f.puts twitterlaststatus.chomp f.close # Mechanizeの初期化 agent = WWW::Mechanize.new # Mixiへ ログイン puts "login to mixi by #{config['mixiusername']}" page = agent.get('http://mixi.jp/') form = page.forms[0] form.fields.find {|f| f.name == 'email'}.value = config['mixiusername'] form.fields.find {|f| f.name == 'password'}.value = config['mixipassword'] form.fields.find {|f| f.name == 'next_url'}.value = '/home.pl' page = agent.submit(form, form.buttons.first) # mixi エコー を開く puts 'open echo page.' page = agent.get("http://mixi.jp/recent_echo.pl") # エコー書き込み form = page.forms[1] form.fields.find { |f| f.name == 'body' }.value = twitterlaststatus.toeuc page = agent.submit( form,form.buttons.first ) puts 'Mixiエコー更新成功!' end
twitter2mixi.yaml
twitterusername: (Twitterアカウント) twitterpassword: (Twitterパスワード) mixiusername: (Mixiアカウント) mixipassword: (Mixiパスワード) statustempfile: (テンポラリファイルへのパス)
奥さんが日本人で良くmixiを使っているけど僕はfacebookもmyspace余り使わないからmixiをやれっていわれったら、それもちょっとって言う感じ。だけど、twitter2mixi.rbあったら助かるな。問題はmixiでnoobでありながらrubyでもnoobである。
どうやってこのスクリプトを使うか知りたいけど説明かなにかないのかな?
japanielさん、コメントありがとうございます。あと、Googleフレンドにも登録ありがとうね。
このRubyスクリプトは、Rubyの知識と、Linuxを使う知識がないと使えないな。。(現状では)
WEBサービス公開したら使いたいって言う人は多いのかな??
Linux ならある。Ruby ならたりない。残念。
ぜひぜひWebサービスにしてほしいです!
待ってます!
コメント有難うございました!
基本的には、問題なく動作しているのですが、
時々、同じつぶやきが、
何度も、mixiエコーへ登録されてしまう事象が発生しました。
ちょっとログをとって調べてみたいと思います。
(まだ、発生条件などはよく分かっていませんが、
「# つぶやき更新状況の確認」
か、
「if mixilaststatus == nil || twitterlaststatus.chomp != mixilaststatus.chomp」
あたりの判定がうまくいかないことがあるのではないかと思っています。)