Skip to content

Instantly share code, notes, and snippets.

@snaka
Created March 14, 2009 14:36
Show Gist options
  • Save snaka/79083 to your computer and use it in GitHub Desktop.
Save snaka/79083 to your computer and use it in GitHub Desktop.
Sample ruby twitter client script for GFW
require 'net/http'
require 'kconv'
require 'rubygems'
require 'json'
require 'pit'
require 'ruby-growl'
max_count = ARGV.shift.to_i
config = Pit.get("twitter", :require => {
"username" => "your twittername",
"password" => "your password"
})
Net::HTTP.version_1_2
req = Net::HTTP::Get.new('/statuses/friends_timeline.json')
req.basic_auth config["username"], config["password"]
proxy_host = ENV["proxy_host"]
proxy_port = ENV["proxy_port"]
Net::HTTP::Proxy(proxy_host, proxy_port).start('twitter.com') {|http|
res = http.request(req)
growl = Growl.new("localhost", "Simple twitter client", ["Message", "Error"])
if res.code == '200'
result = JSON.parser.new(res.body).parse()
result.length.times do |i|
exit 0 if i >= max_count
puts screen_name = result[i]["user"]["screen_name"]
puts text = result[i]["text"]
growl.notify "Message", "#{screen_name}", "#{text}"
sleep 1
end
else
growl.notify "Error", "Error occurd", "Can not get messages"
end
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment