Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away