summaryrefslogtreecommitdiff
path: root/templates/project/jobs/twitter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'templates/project/jobs/twitter.rb')
-rw-r--r--templates/project/jobs/twitter.rb31
1 files changed, 21 insertions, 10 deletions
diff --git a/templates/project/jobs/twitter.rb b/templates/project/jobs/twitter.rb
index 9359a89..5e70f30 100644
--- a/templates/project/jobs/twitter.rb
+++ b/templates/project/jobs/twitter.rb
@@ -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