twitterのbotを作る その2

今日は、main.rbにいろいろと追加をしてみた。


まず、タイムラインの表示



# タイムラインを表示
client.friends_timeline.each do |s|
print s.user.name,":",s.text,"\n"
end

*説明*
ターミナル上に1ページ分のタイムラインを表示させる。
サイトによっては「client.timeline(:public).each」などと表記されているところもあるが、現在は使えないので注意。
「user.name」では、アカウント名ではなく、登録されている名前が表示される。


発言ファイル




REPLAY_MESSEG = []

# 発言ファイルを読み込む
io = File.read("text.txt")
io.each { |s|
REPLAY_MESSEG << s
}

*説明*
「@○○」に関する発言に返信するための発言ファイルを読み込む。
「text.txt」には適当な言葉(こんにちは など)が書かれている。
それを、一行ずつ「REPLAY_MESSEG」に入れていく。

返信する




# @に対し返信をする
client.replies.each do |s|
MESSEG = REPLAY_MESSEG[rand(REPLAY_MESSEG.size)]
FRIEND = "@#{s.user.screen_name} #{MESSEG}"
client.update( FRIEND )
end

*説明*
ランダムにメッセージを選び、@で呼びかけてくれた人に返信を行う。
しかし、5分後にまた返信をしてしまう可能性がある。



どうすれば発言の時間を取って来れるかが問題点。
これさえ解決すれば何度も返信することがないのに・・・