Skip to content

Instantly share code, notes, and snippets.

@k0kubun
Created March 13, 2013 04:20
Show Gist options
  • Save k0kubun/5149353 to your computer and use it in GitHub Desktop.
Save k0kubun/5149353 to your computer and use it in GitHub Desktop.
fav-notifier beta
# -*- coding: utf-8 -*-
require 'user_stream'
require 'twitter'
require "net/http"
require "uri"
def notify(message)
uri = URI.parse("http://im.kayac.com/api/post/USERNAME")
Net::HTTP.start(uri.host, uri.port){|http|
request = Net::HTTP::Post.new(uri.path)
request.set_form_data({ :message => message })
response = http.request(request)
}
end
UserStream.configure do |config|
config.consumer_key = ''
config.consumer_secret = ''
config.oauth_token = ''
config.oauth_token_secret = ''
end
Twitter.configure do |config|
config.consumer_key = ''
config.consumer_secret = ''
config.oauth_token = ''
config.oauth_token_secret = ''
end
screen_name = 'screen_name'
mute_users = %w(screen_name1 screen_name2)
begin
client = UserStream.client
client.user do |status|
message = nil
# Favorite
if status["event"] == 'favorite'
mute = false
mute_users.each do |user|
if status["source"]["screen_name"] == user
mute = true
end
end
if mute == true
next
end
message = status["source"]["screen_name"] + "がふぁぼりました: " + status["target_object"]["text"]
elsif status["retweeted_status"] && screen_name == status["retweeted_status"]["user"]["screen_name"]
message = status["user"]["screen_name"] + 'がリツイートしました: ' + status["retweeted_status"]["text"]
end
if message
if message.length > 140
message = message[0..139]
end
notify(message)
Twitter.update(message)
end
end
rescue
retry
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment