Skip to content

Instantly share code, notes, and snippets.

@mactkg
Created January 15, 2014 17:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mactkg/8440056 to your computer and use it in GitHub Desktop.
Save mactkg/8440056 to your computer and use it in GitHub Desktop.
require 'net/http'
require 'uri'
require 'growl'
require 'twitter'
topics = ["mactkg", "たまご"]
# code from http://d.hatena.ne.jp/gan2/20080531/1212227507
def save_icon(filename, url)
filename = filename + '.' + File.basename(url).split('.')[1]
path = File.expand_path(File.dirname($0))+'/icon/'+filename
open(path, 'wb') do |file|
file.puts Net::HTTP.get_response(URI.parse(url)).body
end
return path
end
# twitter api configuring
client = Twitter::Streaming::Client.new do |config|
config.consumer_key = "^~^"
config.consumer_secret = "^~^"
config.access_token = "^~^"
config.access_token_secret = "^~^"
end
puts "ready"
puts "query:#{topics}"
# filetering
client.filter(:track => topics.join(",")) do |object|
if object.is_a?(Twitter::Tweet) then
uri = object.user.profile_image_uri :normal
path = save_icon object.user.screen_name, uri
puts "#{object.user.name} said \"#{object.text}\""
Growl.notify object.text,:icon => path,:title=> object.user.name
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment