import twitter, feedparser, socket # # SETTINGS # twitteruser = 'username' twitterpassword = 'password' facebook_feed_address = "Your full Facebook status feed URL" # Will be appended to facebook status to_append = "(from Facebook)" # These words will be removed from the # beginning of your status if present verbs = ['is', 'has'] # Make sure the script doesn't hang if it can't get through to # Twitter or Facebook (ie network is down). timeout = 60 # seconds socket.setdefaulttimeout(timeout) # # FACEBOOK STUFF # # Get most recent facebook status. feed = feedparser.parse(facebook_feed_address) most_recent_facebook = feed.entries[0].title # Convert facebook status string into a list of words most_recent_facebook_words = most_recent_facebook.split() # Get rid of name from start of string. del most_recent_facebook_words[0] # If next word is in verb list, remove it. if most_recent_facebook_words[0] in verbs: del most_recent_facebook_words[0] # Capitalise first word. most_recent_facebook_words[0] = most_recent_facebook_words[0].title() # Append selected string. most_recent_facebook_words.append(to_append) # Convert back into a string most_recent_facebook = " ".join(most_recent_facebook_words) # # TWITTER STUFF # # Set up API twitterapi = twitter.Api(username=twitteruser, password=twitterpassword) # Get list of statuses twitter_statuses = twitterapi.GetUserTimeline(twitteruser) twitter_statuses_text = [s.text for s in twitter_statuses] # Check if your current Facebook status # has already been posted to Twitter if not most_recent_facebook in twitter_statuses_text: # If not, post it! twitterapi.PostUpdate(most_recent_facebook)