#!/usr/bin/env python # encoding: utf-8 # Tweet echoing works. I just need this to be refactored into something more useful... from tweet_converter import convert_tweets from time import sleep import tweepy # Tentative... Might just settle with line-by-line with encryption # TODO: Import and utilize encryption methods. import json # TODO: Major clean up. def echo_recent_tweets(screen_name): # TODO: Encrypt this file for extra security? # TODO: Probably move all of this to its own function. with open('keys.txt', 'r') as f: #Twitter API credential consumer_key = f.readline().rstrip() consumer_secret = f.readline().rstrip() access_key = f.readline().rstrip() access_secret = f.readline().rstrip() # Authorize twitter, initialize tweepy auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_key, access_secret) api = tweepy.API(auth) last_tweet = 0 # TODO: Don't do while(True). Use another safer method. while(True): # Request the last 10 tweets, since I'm assuming I won't have made 10 tweets in 30 seconds... new_tweets = api.user_timeline(screen_name = screen_name,count=10,tweet_mode = 'extended') recent_tweets = [] # Only bother processing new tweets. for tweet in new_tweets: if(tweet.id > last_tweet): recent_tweets.append(tweet) # Only do this if there are new tweets. if recent_tweets: outtweets = convert_tweets(recent_tweets) last_tweet = int(outtweets[len(outtweets) - 1]['id']) # Debugging purposes... # TODO: Clean this up probably. for t in outtweets: print(t['date'] + '\t' + t['text']) sleep(30) # TODO: Stop reading users from a file, unnecessary. if __name__ == '__main__': with open('users.txt', 'r') as f: for l in f: echo_recent_tweets(l.rstrip()) # Clean these up lmao ''' #write the csv with open('%s_tweets.csv' % screen_name, 'w') as f: writer = csv.writer(f) writer.writerow(["id","created_at","retweet","text","hashtags","user_mentions"]) writer.writerows(outtweets) pass '''