You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.0 KiB

Encoding.default_internal = 'UTF-8'
require 'rubygems'
require 'bundler/setup'
require 'json'
Bundler.require
$config = IniFile.load('../.env')
client = Twitter::Streaming::Client.new do |config|
config.consumer_key = $config['global']['TWITTER_CONSUMER_KEY']
config.consumer_secret = $config['global']['TWITTER_CONSUMER_SECRET']
config.access_token = $config['global']['TWITTER_ACCESS_TOKEN']
config.access_token_secret = $config['global']['TWITTER_ACCESS_TOKEN_SECRET']
end
filters = {
track: $config['global']['GAME_HASHTAG']
}
client.filter(filters) do |obj|
case obj
when Twitter::Tweet
puts "Got a tweet"
puts obj.to_h.to_json
response = HTTParty.post "#{$config['global']['APP_URL']}/twitter/stream", {
body: obj.to_h.to_json,
headers: {'Content-Type' => 'application/json'}
}
when Twitter::DirectMessage
puts "Got a DM"
when Twitter::Streaming::DeletedTweet
puts "Someone deleted a tweet"
when Twitter::Streaming::StallWarning
puts "Falling behind!"
end
end