Created
November 7, 2009 01:50
-
-
Save fguillen/228468 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Add a bunch of twitter users to one of your twitter lists | |
# | |
# use it with a file full of twitter usernames | |
# one name by line | |
# | |
# If the listname indicated doesn't exist it will be created | |
# | |
# Example: $ ruby twitter_lists.rb 'username' 'userpass' 'listname' twitter_users.txt | |
# | |
# Debug mode: $ ruby twitter_lists.rb 'username' 'userpass' 'listname' twitter_users.txt debug | |
# | |
require 'rubygems' | |
require 'twitter' | |
require 'pp' | |
class TwitterLists | |
def self.add_users( username, pass, listname, path_file_users, debug_mode = false ) | |
puts "DEBUG mode actived! \n\n" if debug_mode | |
httpauth = Twitter::HTTPAuth.new( username, pass) | |
twitter = Twitter::Base.new(httpauth) | |
begin | |
twitter.list(username, listname) | |
rescue Twitter::NotFound => e | |
puts "List '#{username}/#{listname}' doesn't exist, so I'll create it\n\n" | |
twitter.list_create(username, {:name => listname, :mode => 'public'}) if !debug_mode | |
end | |
File.read( path_file_users ).each do |new_username| | |
new_username = new_username.gsub("\n",'').strip | |
next if new_username.empty? | |
begin | |
puts "adding: #{new_username} to #{username}/#{listname}" | |
user_id = Twitter.user( new_username ).id | |
twitter.list_add_member( username, listname, user_id ) if !debug_mode | |
rescue Exception => e | |
puts "ERRROR trying to add: #{new_username} to #{username}/#{listname} .. we follow working" | |
puts e | |
end | |
end | |
end | |
end | |
if ARGV.size < 4 || ARGV.size > 5 | |
puts "use: #{$0} <username> <pass> <listname> <path_file_users> {debug}" | |
exit 1 | |
end | |
TwitterLists.add_users( ARGV[0], ARGV[1], ARGV[2], ARGV[3], !ARGV[4].nil? ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment