class Ruboty::Adapters::TwitterDirectMessage
Public Instance Methods
run()
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 16 def run Ruboty.logger.debug("#{self.class}##{__method__} started") abortable listen Ruboty.logger.debug("#{self.class}##{__method__} finished") end
say(message)
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 23 def say(message) client.update(message[:body], in_reply_to_status_id: message[:original][:tweet].try(:id)) end
Private Instance Methods
abortable()
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 66 def abortable Thread.abort_on_exception = true end
client()
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 45 def client ::Twitter::REST::Client.new do |config| config.consumer_key = ENV["TWITTER_CONSUMER_KEY"] config.consumer_secret = ENV["TWITTER_CONSUMER_SECRET"] config.access_token = ENV["TWITTER_ACCESS_TOKEN"] config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"] end end
enabled_to_auto_follow_back?()
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 29 def enabled_to_auto_follow_back? ENV["TWITTER_AUTO_FOLLOW_BACK"] == "1" end
listen()
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 33 def listen stream.on_direct_message do |direct_message| Ruboty.logger.debug("#{direct_message.sender.screen_name} send direct message #{direct_message.text.inspect}") robot.receive( body: direct_message.text, from: direct_message.sender.screen_name, tweet: direct_message ) end stream.userstream end
stream()
click to toggle source
# File lib/ruboty/adapters/twitter_direct_message.rb, line 55 def stream ::TweetStream::Client.new( consumer_key: ENV["TWITTER_CONSUMER_KEY"], consumer_secret: ENV["TWITTER_CONSUMER_SECRET"], oauth_token: ENV["TWITTER_ACCESS_TOKEN"], oauth_token_secret: ENV["TWITTER_ACCESS_TOKEN_SECRET"], auth_method: :oauth ) end