2012-09-04 :-(
_ [Twitter][tig.rb][TwitterIRCGateway]tig.rb を使ってみた
cho45 作 TwitterIRCGateway cho45/net-irc · GitHub (古き良き伝統的な tig ふあこちら TweetIrcGateway - Misuzilla.org)
環境
- Microsoft Windows 7 64bit
- cygwin
- ruby 1.9.3
インストール
っていうか git するだけ
% git clone git://github.com/cho45/net-irc.git
tig 起動
% cd net-irc.git/examples % ruby ./tig.rb ./tig.rb:2053: invalid multibyte char (US-ASCII) ./tig.rb:2053: invalid multibyte char (US-ASCII) ./tig.rb:2053: syntax error, unexpected $end, expecting keyword_end ... str = "\00310♺ \017" + str if status.retwe...
UTF-8 かなこれ。
デコードできないらしい。
とりあえず tig.rb に encoding を追加してみた。おかしい。最近もコミットされまくってるから ruby 1.9 がどうのこうのという問題ではないのかしら。
#!/usr/bin/env ruby # -*- encoding: utf-8 -*-
tig を起動したら IRC クライアントからつなげる。LimeChat を使用。
サーバーを追加してこんな感じで設定する。
サーバーにログインするとこんなのが流れてくる。
19:40 <#twitter> (twittergw) Failed trying xAuth 19:40 <#twitter> (twittergw) Access following URL: https://api.twitter.com/oauth/authorize?oauth_token=なんとかかんとか 19:40 <#twitter> (twittergw) and send /me oauth <PIN>
URL にアクセスして
/me oauth <PIN>
を入力すれば oauth 認証終わり。
しかし ゆとりなので fav とか RT の設定とか面倒くさくて挫けそう。
参考
_ [gig.rb][github]gig.rb を使えない
さっき取得した net-irc に含まれている。
おもむろに実行してみる。
% ruby gig.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- libxml (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from gig.rb:20:in `<main>'
libxml ではなく libxml-ruby という名前。
% gem install libxml-ruby
再度起動。
% ruby gig.rb gig.rb:179:in `reopen': <STDOUT> can't change access mode from "w" to "r" (ArgumentError) from gig.rb:179:in `block (2 levels) in daemonize' from gig.rb:177:in `open' from gig.rb:177:in `block in daemonize' from gig.rb:174:in `fork' from gig.rb:174:in `daemonize' from gig.rb:187:in `<main>'
ここなんだが、やはり Windows だからですかね (´・ω・`)
def daemonize(foreground=false) trap("SIGINT") { exit! 0 } trap("SIGTERM") { exit! 0 } trap("SIGHUP") { exit! 0 } return yield if $DEBUG || foreground Process.fork do Process.setsid Dir.chdir "/" File.open("/dev/null") {|f| STDIN.reopen f STDOUT.reopen f STDERR.reopen f } yield end exit! 0 end
[ツッコミを入れる]