An EventMachine-based client for http://chirpstream.twitter.com.
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
image
lib
.gitignore
Gemfile
Gemfile.lock
Rakefile
Readme.rdoc
VERSION
chirpstream.gemspec

Readme.rdoc

Chirpstream

About

This is an experimental EventMachine-based client for chirpstream.twitter.com.

Fun Things You Can Do At Home

Fire up the growl client!

sudo gem install chirpstream
chirp_growl

Wow! It's growling my tweets! How meta.

Usage

require 'rubygems'
require 'chirpstream'
require 'rainbow'

chirp = Chirpstream.new
chirp.on_reconnect{ puts "reconnecting..." }
chirp.on_tweet {|t, u| puts "#{t.text} (from #{t.user.name.foreground(:red)} (#{('@' + t.user.screen_name).foreground(:green)}))" }
chirp.on_follow {|t, u| puts "#{t.source.screen_name.foreground(:green)} following #{t.target.screen_name.foreground(:green)}" }
chirp.on_favorite {|t, u| puts "#{t.source.screen_name.foreground(:green)} <3 -> #{t.target_object.text}" }
chirp.on_retweet {|t, u| puts "#{t.source.screen_name.foreground(:green)} RT -> #{t.target_object.text}" }
chirp.on_direct_message {|t, u| puts "DM : #{t.text} (from #{t.sender.name.foreground(:red)} (#{('@' + t.sender.screen_name).foreground(:green)}))" }
chirp.connect(Chirpstream::Connect::User.basic('joshbuddy', 'xxxxxxxx'))

Oauth Usage

chirp = Chirpstream.oauth(consumer_token, consumer_secret)
chirp.on_reconnect{ puts "reconnecting..." }
chirp.on_tweet {|t, u| puts "#{t.text} (from #{t.user.name.foreground(:red)} (#{('@' + t.user.screen_name).foreground(:green)}))" }
chirp.on_follow {|t, u| puts "#{t.source.screen_name.foreground(:green)} following #{t.target.screen_name.foreground(:green)}" }
chirp.on_favorite {|t, u| puts "#{t.source.screen_name.foreground(:green)} <3 -> #{t.target_object.text}" }
chirp.on_retweet {|t, u| puts "#{t.source.screen_name.foreground(:green)} RT -> #{t.target_object.text}" }
chirp.on_direct_message {|t, u| puts "DM : #{t.text} (from #{t.sender.name.foreground(:red)} (#{('@' + t.sender.screen_name).foreground(:green)}))" }
chirp.connect(Chirpstream::Connect::User.oauth(access_token, access_secret))

Multi User Usage

chirp = Chirpstream.new(consumer_token, consumer_secret)

chirp.on_reconnect{ puts "reconnecting..." }
chirp.on_tweet {|t, u| puts "#{t.text} (from #{t.user.name.foreground(:red)} (#{('@' + t.user.screen_name).foreground(:green)}))" }
chirp.on_follow {|t, u| puts "#{t.source.screen_name.foreground(:green)} following #{t.target.screen_name.foreground(:green)}" }
chirp.on_favorite {|t, u| puts "#{t.source.screen_name.foreground(:green)} <3 -> #{t.target_object.text}" }
chirp.on_retweet {|t, u| puts "#{t.source.screen_name.foreground(:green)} RT -> #{t.target_object.text}" }
chirp.on_direct_message {|t, u| puts "DM : #{t.text} (from #{t.sender.name.foreground(:red)} (#{('@' + t.sender.screen_name).foreground(:green)}))" }

chirp.connect(Chirpstream::Connect::User.oauth(access_token1, access_secret1), Chirpstream::Connect::User.oauth(access_token2, access_secret2))