a simple command line twitter client press t for tweet q for quit :P
require "jumpstart_auth"
class MicroBlogger
attr_reader :client
def initialize
puts "Initializing"
@client =JumpstartAuth.twitter
end
def tweet(message)
if message.length <= 140
@client.update(message)
else
puts "tweet is more than 140"
end
end
def dm(target , message)
screen_names =@client.followers.collect {|follower| follower.screen_name}
if screen_names.include?(target)
puts "trying to send #{target} this direct message:"
puts message
else
puts "user doesn't exist"
end
end
def everyones_last_tweet
friend_list = @client.friends
friend_list.sort_by! { |friend| friend.screen_name.downcase }
friend_list.each do |friend|
#timestamp = friend.status.created_at if friend.status
puts "username: #{friend.screen_name}"
puts "#{friend.status.text} (#{timestamp.strftime("%A, %b %d")})" if friend.status
end
end
def followers_list
screen_name = @client.friends.collect
screen_name.each do |f|
puts f.screen_name
end
#{|follower| follower.screen_name}
end
def spam_all_followers(message)
followers = followers_list
followers.each do |follower|
dm(follower, message)
end
end
def run
puts "welcome to the JSl twiiter client"
command =""
while command != "q"
printf "enter command:"
input = gets.chomp
parts = input.split
command = parts [0]
case command
when 'q' then puts "GoodBye!"
when 't' then tweet(parts[1..-1].join (''))
when 'dm' then dm(parts[1] , parts[2..-1].join(" "))
when 'spam' then spam_all_followers(parts[1..-1].join(" "))
when 'elt' then everyones_last_tweet
else
puts "sorry idont how to #{command}"
end
end
end
end
blogger = MicroBlogger.new
#blogger.tweet ("MicroBlogger Initialized ")
blogger.run
#blogger.followers_list