Advertisement
nher1625

twitter-bot.py

Dec 6th, 2015
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.55 KB | None | 0 0
  1. import tweepy, pprint
  2.  
  3. consumer_key, consumer_secret = "Some consumer key", "Its a secret, shhhhhhhhh :)"
  4. access_token, access_token_secret = "some token", "some access token"
  5. auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # pass consumer key and secret to the OAuthHandler class of /tweepy/tweepy/tree/master/auth.py
  6. auth.set_access_token(access_token, access_token_secret)  # set the access token with method in OAuthHandler class
  7. api = tweepy.API(auth)                    # passing auth variable to API class in /tweepy/tweepy/tree/master/api.py
  8.  
  9. def get_public_tweets(since=None, max=None, amount=None):
  10.     # :reference: https://dev.twitter.com/rest/reference/get/statuses/home_timeline
  11.         # :allowed_param:'since_id', 'max_id', 'count'  
  12.         # fetches resources from https://api.twitter.com/1.1/statuses/home_timeline.json
  13.     try:
  14.         public_tweets = api.home_timeline(since_id=since, max_id=max, count=amount)
  15.         tweets = []
  16.         for tweet in public_tweets:
  17.             tweets.append(tweet.text)
  18.         if len(tweets) > 0:
  19.             return tweets
  20.         else:
  21.             return None  
  22.     except TypeError as err:
  23.         print err
  24.  
  25. def get_user_model(user):
  26.     try:
  27.         return api.get_user(user)
  28.     except TypeError as err:
  29.         print err
  30.  
  31. def unfollow_user(user):
  32.     if user.id:
  33.         try:
  34.             return get_user_model(user).unfollow()
  35.         except TypeError as err:
  36.             print err
  37.     else:
  38.         print 'Invalid Username.'
  39.  
  40. def follow_user(user):
  41.     if user.id:
  42.         try:
  43.             return get_user_model(user).follow()
  44.         except TypeError as err:
  45.             print err
  46.     else:
  47.         print 'Invalid Username.'
  48.  
  49. def get_user_tweets(user, amount, filter_for=None):
  50.     target = get_user_model(user)
  51.     if target.id:
  52.         try:
  53.             tweets = []
  54.             if len(filter_for) > 0:
  55.                 for tweet in target.timeline(count=amount):
  56.                     for word in filter_for:
  57.                         if word.lower() in tweet.text.split(' '):
  58.                             print tweet.text
  59.                     #if filter_for.lower() in tweet.text.lower():
  60.                     #   print tweet.text
  61.             else:  
  62.                 for tweet in target.timeline(count=amount):
  63.                     tweets.append(tweet.text)
  64.                 return tweets
  65.         except TypeError as err:
  66.             print err
  67.     else:
  68.         print "Invalid Username."  
  69.  
  70. # get_public_tweets()
  71. # nth_position = 50
  72. # get_pos = nth_position - 1
  73.  
  74. target = "@madflavor"
  75.  
  76. pprint.pprint(get_user_tweets(target, 1000, filter_for=['Fuck','Shit','Dick','Doctor']))
  77. #for tweet in get_user_model("@madflavor").timeline():
  78. #   if tweet.retweets > 10:
  79. #       print tweet.text
  80. #   else:
  81. #       print "Less than 10 retweets."
  82.  
  83.  
  84. # target.unfollow()
  85. # follow_user(joeycoco)
  86. # my_latest_tweet = api.home_timeline()[0]
  87. # print dir( my_latest_tweet )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement