Twitter botの「温度の高い燗酒」であるところの@kanzake_botのセリフを増やすために、次のようなコードを書きました。
元になっているのは、参考サイト 30分で誰でも作れるTwitter Bot開発・運用手順 ~ Ruby Twitter bot | はるかなる熊 のコードです。
#!/usr/local/bin/ruby
encoding: utf-8
$:.unshift File.dirname(FILE)
require 'rubygems' require 'twitter'
CONSUMER_KEY = "コンシューマキー" CONSUMER_SECRET = "ないしょのコンシューマキー" OAUTH_TOEKN = "OAuthトークン" OAUTH_TOEKN_SECRET = "ないしょのOAuthトークン"
Twitter.configure do |config| config.consumer_key = CONSUMER_KEY config.consumer_secret = CONSUMER_SECRET config.oauth_token = OAUTH_TOEKN config.oauth_token_secret = OAUTH_TOEKN_SECRET end
list = []
lines = 0 File.open("/(絶対パス)/tweetlist.txt","r:UTF-8:UTF-8") {|file| while text = file.gets lines += 1 list.push(text) end }
Twitter.update(list[rand(list.length)])
という感じです。ポイントはファイルの文字コード指定です。 んでもって、crontabには、
PATH=$PATH:/usr/local/bin:/bin:/usr/bin:/usr/local/lib/ruby:/usr/local/lib/ruby/gems/1.9.1
m h dom mon dow command
*/15 * * * * cd /(絶対パス); /usr/local/bin/ruby /(絶対パス)/tweet.rb
な感じです。 gem使ったRubyでcronって色々あるみたいで右往左往しちゃいました。 とりあえず動くようになったのでめでたしめでたし!
ファイルに書かれた言葉しか話さないし、replyなどにも全く応答なしなんで、いつかそのへんをいじれたらいいね!
<追記 2012/09/17 23:27> 名前を熱燗から燗酒にしたので修正。ソースも落ち着いたら差し替えます。