twitterland
Twitterland is a Ruby gem that bundles various Twitter-related APIs
Including:
- Follow Cost
- Twitter Grader
- Mr. Tweet
- Twinfluence
- Twitter Counter
- TweetBlocker
Install
sudo gem install twitterland
Follow Cost Usage
# Get follow cost for specified user
Twitterland::FollowCost.show('bradleyjoyce')
=> <Mash at_reply_index=24.0 average_tweets_per_day=6.87254901960784 average_tweets_per_day_recently=19.6396220282001 golden_index=3.0 milliscobles_all_time=324.02 milliscobles_recently=925.96 political_index=1.0 profile_image_url="http://s3.amazonaws.com/twitter_production/profile_images/179927752/bradley_normal.png" statuses_count=3505 twitter_created_at="2008/03/14 18:26:52 -0700" username="bradleyjoyce">
Twitter Grader Usage
# request your api key at [http://twitter.grader.com/accessrequestform](http://twitter.grader.com/accessrequestform)
# get twitter grade for user
api_key = "OU812"
Twitterland::TwitterGrader.grade('bradleyjoyce', api_key)
=> 98.4183
Mr.Tweet Usage
get your api key at http://api.mrtweet.com/newapi
Initialize Mrtweet
api_key = 'OU812'
mt = Twitterland::Mrtweet.new(api_key,'bradleyjoyce')
Is user
# Check whether the given user is a MrTweet user.
mt.is_user
=> true
Profile
# Returns MrTweet statistics of the given user
mt.profile
=> <Mash conversation=0.225 conversation_percentile=53 frequency=8.98621 frequency_percentile=90 links=0.53 links_percentile=87 recommendations=1>
mt.profile.links
=> 0.53
Recommendations
# Returns the latest recommendations the given user received on MrTweet
mt.recommendations
=> [<Mash date=Thu Aug 06 01:02:54 -0500 2009 name="billtrammel" text="he is an entrepreneur, and one of the developers of TweetCongress.org, award-winning site promoting government transparency. Plus, he's a good friend.">]
mt.recommendations.first.name
=> "billtrammel"
Most attention towards
# Returns the twitter_id's of 3 users that for the given user pays the most attention to
mt.most_attenion_towards
=> [15049040, 17993906, 22286046]
Recommend
# Creates a recommendation from the given user, to another user (aka "friend_name")
reason = "Wynn is an awesome entrepreneur, rubyist, designer and friend! Follow him for his useful and entertaining tweets!"
friend_name = "pengwynn"
mt.recommend(reason,friend_name)
=> true
Twinfluence
Initialize Twinfluence
username = 'bradleyjoyce'
password = 'mypassword'
t = Twitterland::Twinfluence.new(username,password)
=> #<Twitterland::Twinfluence:0x317ecf8 @username="bradleyjoyce", @password="mypassword">
User
# gets twinfluence data for user
t.user('bradleyjoyce')
t.user('bradleyjoyce')
=> <Mash user=<Mash adrider=<Mash script=[<Mash type="text/javascript">, <Mash src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">]> centralization="24.224443556856" centralization_grade="0.0 Average - Resilient" description="Entrepreneur and Web Developer -- Floxee.com, TweetCongress.org, Sherflock.com, Squeejee.com" followers_count="1315" friends_count="1278" id="14688076" location=nil name="Bradley Joyce" screen_name="bradleyjoyce" second_order="7936664" second_order_grade="Rank: <b>#10,185</b> (93%)" social_capital="6035.4859315589" social_capital_grade="+1.4 High" statuses_count="3511" unix_timestamp="1249683954" url="http://bradleyjoyce.me" velocity="15535.453112211" velocity_grade="+0.1 Fast Average">>
Twitter Counter
Show
tc = Twitterland::TwitterCounter.show('bradleyjoyce')
tc.rank
=> 37194
# available methods
tomorrow_2w
followers_2w_ago
followers_yesterday
followers_current
friends_current
next_month
growth_since_2w
started_followers
rank
user_id
growth_since
follow_days
tomorrow
next_month_2w
average_growth
average_growth_2w
TweetBlocker
User
# get grade for user
result = Twitterland::TweetBlocker.user('bradleyjoyce')
=> <Mash grade="a" score=100 url="http://twitter.com/bradleyjoyce" username="Bradley Joyce">
Spam
# report a user as spammer
Twitterland::TweetBlocker.report_spam('spamtest')
Rate Limit Status
# check your rate limit status
Twitterland::TweetBlocker.rate_limit
=> <Mash hourly_limit=100 remaining_hits=100 reset_time="2009-08-11 23:12:41 UTC" reset_time_in_seconds=2746>
Source
http://github.com/squeejee/twitterland/
Documentation
http://rdoc.info/projects/squeejee/twitterland
Copyright
Copyright (c) 2009 Squeejee. See LICENSE for details.