LoginSignup
57

More than 5 years have passed since last update.

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

Posted at

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
57