templates/project/jobs/twitter.rb in dashing-1.0.5 vs templates/project/jobs/twitter.rb in dashing-1.0.6
- old
+ new
@@ -1,17 +1,28 @@
-require 'net/http'
-require 'json'
+require 'twitter'
+
+#### Get your twitter keys & secrets:
+#### https://dev.twitter.com/docs/auth/tokens-devtwittercom
+Twitter.configure do |config|
+ config.consumer_key = 'YOUR_CONSUMER_KEY'
+ config.consumer_secret = 'YOUR_CONSUMER_SECRET'
+ config.oauth_token = 'YOUR_OAUTH_TOKEN'
+ config.oauth_token_secret = 'YOUR_OAUTH_SECRET'
+end
+
search_term = URI::encode('#todayilearned')
SCHEDULER.every '10m', :first_in => 0 do |job|
- http = Net::HTTP.new('search.twitter.com')
- response = http.request(Net::HTTP::Get.new("/search.json?q=#{search_term}"))
- tweets = JSON.parse(response.body)["results"]
- if tweets
- tweets.map! do |tweet|
- { name: tweet['from_user'], body: tweet['text'], avatar: tweet['profile_image_url_https'] }
+ begin
+ tweets = Twitter.search("#{search_term}").results
+
+ if tweets
+ tweets.map! do |tweet|
+ { name: tweet.user.name, body: tweet.text, avatar: tweet.user.profile_image_url_https }
+ end
+ send_event('twitter_mentions', comments: tweets)
end
-
- send_event('twitter_mentions', comments: tweets)
+ rescue Twitter::Error
+ puts "\e[33mFor the twitter widget to work, you need to put in your twitter API keys in the jobs/twitter.rb file.\e[0m"
end
end
\ No newline at end of file