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