Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
58
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

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

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
58
Help us understand the problem. What are the problem?