# -*- coding: utf-8 -*- """ Deletes all tweets below a certain retweet threshold. """ import tweepy from datetime import datetime # Constants CONSUMER_KEY = '' CONSUMER_SECRET = '' ACCESS_TOKEN = '' ACCESS_SECRET = '' USER_NAME = '' # Connect To Your Twitter Account via Twitter API auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True, retry_count=3, retry_delay=5, retry_errors=set([401, 404, 500, 503])) # For the account name def wipe(account_name=USER_NAME, favorite_threshold=100, days=62): # Get the current datetime current_date = datetime.utcnow() # For each tweet for status in tweepy.Cursor(api.user_timeline, screen_name='@'+account_name).items(): # Get the tweet id status_id = status._json['id'] print(datetime.now().strftime("%d/%m/%Y %H:%M:%S"), 'Examining', status_id) # Get the number of favorites status_favorites = status._json['favorite_count'] # Get the datetime of the tweet status_date = datetime.strptime(status._json['created_at'], '%a %b %d %H:%M:%S +0000 %Y') # Get whether you have favorited the tweet yourself status_favorited = status._json['favorited'] # If the difference between the current datetime and the tweet's # is more than a day threshold if (datetime.utcnow() - status_date).days > days: # If the number of favorites is lower than the favorite threshold if status_favorites < favorite_threshold: # If you haven't favorited the tweet yourself if status_favorited == False: # Delete the tweet api.destroy_status(status_id) print(datetime.now().strftime("%d/%m/%Y %H:%M:%S"), 'Deleting', status_id) # Run main function if __name__ == '__main__': wipe(account_name='chrisalbon', favorite_threshold=100, days=62)