rubyでtwitterのbotを実装する(第5世代のやり方)

  • 56
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

ruby twitterで検索すると、いろいろ実装方法がでてくるが、以下のエラーでつまづくことがあったので、メモ。

undefined method `configure' for Twitter:Module (NoMethodError)

gemでいれたtwitterのversionは、5.8.0だったので、ある時点からtwitterのライブラリの仕様が変わったらしい。

$ gem list --local | grep twitter
get-twitter-oauth-token (1.1.0)
twitter (5.8.0)

でも、以下のようにやれば動くので参考にしてください。

gemでライブラリをインストール

gem install twitter

もしかしたら、以下も必要だったかもしれない。

gem install oauth get-twitter-oauth-token

rubyのプログラム

require "twitter"

client = Twitter::REST::Client.new do |config|
  config.consumer_key = "lftxxxxxGrxlxxxxSlu44xxx"
  config.consumer_secret = "UTq19HxxxxNkGqiBxSFxxxxxxnOabvvzUxxxx6mpxxxx8jb"
  config.access_token        = "109999726-e9QpxxxxxxxrVl2t1sdsxxxxxWIg3rxxxxGvPka"
  config.access_token_secret = "tixxxxxAHjMAxxxx1KktdgiPrMnsxxxxxxyWVMEgxxxQN"
end

client.update("Hello World!!!")

ポイントは、Twitter::REST::Client.newとするところと、
その戻り値をclientで受けて、そのclientを操作するところ。
よくみるやり方だと、Twitter.configure do |config|とやっているけれど、自分の場合は、上記のエラーになってしまった。
これは、twitterのライブラリのversion5から仕様が変わったということだと思ってます。

参考になりそうなのは、以下のサイト
3分でスッキリ! Oauth 1.0図解とRuby Twitter bot開発
Error with Ruby Twitter API