Skip to content

Instantly share code, notes, and snippets.

@shackenberg
Created July 9, 2012 08:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shackenberg/3075226 to your computer and use it in GitHub Desktop.
Save shackenberg/3075226 to your computer and use it in GitHub Desktop.
This script automatically adds all followers of a twitter user to an existing list. It checks every hour for new followers.
from time import gmtime, strftime, sleep
from twython import Twython
app_key = 'xxx'
app_secret = 'xxx'
access_token = 'xxx'
access_token_secret = 'xxx'
list_id = u'xxxxxxx'
screen_name = u'xxxxx'
t = Twython(app_key=app_key,
app_secret=app_secret,
callback_url='http://google.com/',
oauth_token=access_token,
oauth_token_secret=access_token_secret)
while True:
followers = t.getFollowersIDs(screen_name=screen_name)[u'ids']
follower_names = [t.lookupUser(user_id=id)[0][u'screen_name'] for id in followers]
raw_members = t.getListMembers(list_id=list_id)[u'users']
n_raw_members = len(raw_members)
members = [raw_members[i][u'id'] for i in range(n_raw_members)]
for i, follower in enumerate(followers):
try:
_ = members.index(follower)
except ValueError:
timestamp = strftime("%a, %d %b %Y %H:%M:%S", gmtime())
result = t.addListMember(list_id=list_id, user_id=unicode(follower))
new_n_members = result[u'member_count']
log = ' added ' + str(follower_names[i]) + ' to list (' + str(new_n_members) + ')'
output = timestamp + log
print
sleep(3600)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment