読者です 読者をやめる 読者になる 読者になる

Create a new world

きっと誰もが新しい世界を作り続けているんだよ。

RubyでTwitter Botを書いているのだが、うまく行かない・・・。

ここしばらく、RubyTwitter Botを書いているんだけど、なかなかうまくいかない。
いま書こうとしているのは「特定のキーワードを検索して、リツイートする」というものです。

ここまででできたことは、

といったところで、あとは検索して検索結果をリツイートするだけなんだけど、ここがうまくいかない。
とりあえず、該当部分のソースコードを。

search = Twitter::Search.new

search.containing("キーワード").language("ja").result_type("recent").per_page(10).each do |tweet|
  tweet.retweet(数字でid)
end

で、これを実行するとArgumentErrorを食らってしまう。

検索とリツイートでは違うクラスだから、このソースは実行できないとかなのかな・・・。

どこかの掲示板で聞いたほうがいいかな?

追記:解決しました!@rakudamanさん、ありがとうございました!

答えのソースはこんな感じです。

search = Twitter::Search.new
retweeter = Twitter::Base.new

search.containing("キーワード").language("ja").result_type("recent").per_page(10).each do |tweet|
  retweeter.client.retweet(tweet.id)
end

検索とリツイートのインスタンスを別にして、検索のインスタンスからidを取り出してリツイートのインスタンスに渡すところがミソですね〜。