Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Twittering around in Ruby (See related posts)

This code uses the Twitter4R v0.2.0 which is a complete Ruby library that provides access to all documented Twitter REST APIs (and some experimental features).

Read more at:
http://twitter4r.rubyforge.org
http://snakesgemscoffee.blogspot.com/2007/07/twitter4r-020-release.html

You will first need to install the Twitter4R Ruby Gem: <tt>sudo gem install twitter4r</tt>.
require('rubygems')
gem('twitter4r', '>=0.2.0')
require('twitter')

login = 'mylogin' # change this
password = 'mypass' # change this
friend = 'myfriend' # change this

client = Twitter::Client.new(:login => login, :password => password)
public_timeline = client.timeline_for(:public) do |status|
  # do something here with each individual status in timeline that is also returned
  puts status.text
end

# can also pass a block like above to process each individual status object returned in timeline
friends_timeline = client.timeline_for(:friends) 

# same as above with block if you want
friend_timeline = client.timeline_for(:friend, friend)

# Retrieve the user object (with all public profile information) for my friend
user = Twitter::User.find(friend)

# If I don't want to be friends any more I "defriend" the user...
user.defriend

# Now I realize that was a terrible mistake and "befriend" them...
user.befriend

# At this point I want to send them a private message to let them know I made a mistake
# You can do this in two ways.
message = Twitter::Message.create(:client => client, :user => user, 
  :text => "I didn't really mean to defriend you.  Sorry!")
# OR...
message = client.message(:post, "I didn't really mean to defriend you.  Sorry!", user)

# Now I want to post a new status to my own timeline.
# This can be done one of two ways...
status = Twitter::Status.create(:client => client, :text => 'Sleeping off the beer from last night')
# OR...
status = client.status(:post, 'Sleeping off the beer from last night')

# Now I realize my mother is on twitter and wouldn't like to see me talking about beer,
# so assuming she doesn't have IM or SMS alerts we can delete the evidence....
client.status(:delete, status)

You need to create an account or log in to post comments to this site.


Click here to browse all 5147 code snippets

Related Posts