真夜中の色彩

真夜中の雰囲気が好きなプログラマのブログ

意識の高い…じゃなくて、温度の高い燗酒bot作ってみたよ!

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> 名前を熱燗から燗酒にしたので修正。ソースも落ち着いたら差し替えます。