#!/usr/local/bin/python3.3
import tweepy
from tweepy.auth import OAuthHandler
from tweepy.streaming import StreamListener, Stream
ckey = ''
csecret = ''
atoken = ''
asecret = ''
auths = OAuthHandler(ckey, csecret)
auths.set_access_token(atoken, asecret)
api = tweepy.API(auths)
class listener(StreamListener):
def on_data(self, raw_data):
try:
tweet_text = raw_data.lower().split('"text":"')[1].split('","source":"')[0].replace(",", "")
screen_name = raw_data.lower().split('"screen_name":"')[1].split('","location"')[0].replace(",", "")
tweet_cid = raw_data.split('"id":')[1].split('"id_str":')[0].replace(",", "")
accs = ['twitter' , 'twittersupport'] # banned account screen name goes in here
words = ['hate' , 'derp'] # banned words goes in here
if not any(acc in screen_name.lower() for acc in accs):
if not any(word in tweet_text.lower() for word in words):
retweet(tweet_cid)
return True
except Exception as e:
print(str(e)) # prints the error msg, if u dont want it comment it out
pass
def on_error(self, status_code):
try:
print( "error" + status_code)
except Exception as e:
print(str(e))
pass
def retweet(tweet_cid):
try:
api.retweet(tweet_cid)
except Exception as e:
print(str(e))
pass
def fav(tweet_cid):
try:
api.create_favorite(tweet_cid)
except Exception as e:
print(str(e))
pass
def unfav(tweet_cid):
try:
api.destroy_favorite(tweet_cid)
except Exception as e:
print(str(e))
pass
def tweet(myinput):
try:
api.update_status(status=myinput)
except Exception as e:
print(str(e))
pass
track_words = ["#Finland","Finland", "", "", "", "", "", "" ""]
follow_acc = [''] # all username converted to user ids
print("Running...")
try:
twt = Stream(auths, listener())
twt.filter(track= track_words) # or follow = follow_acc
except Exception as e:
print(str(e))
pass