Files
danbooru/app/logical/twitter_service.rb

34 lines
840 B
Ruby

class TwitterService
def client
raise "Twitter API keys not set" if Danbooru.config.twitter_api_key.nil?
@client ||= begin
rest_client = Twitter::REST::Client.new do |config|
config.consumer_key = Danbooru.config.twitter_api_key
config.consumer_secret = Danbooru.config.twitter_api_secret
if bearer_token = Cache.get("twitter-api-token")
config.bearer_token = bearer_token
end
end
Cache.put("twitter-api-token", rest_client.bearer_token)
rest_client
end
end
def image_urls(tweet_url)
attrs = client.status(tweet_url).attrs
urls = []
attrs[:entities][:media].each do |obj|
urls << obj[:media_url]
end
attrs[:extended_entities][:media].each do |obj|
urls << obj[:media_url]
end
urls.uniq
rescue
[]
end
end