Я бы хотел, чтобы поток только отвечал, что определенный пользователь попадает на его временную шкалу.Поэтому каждый раз, когда какой-либо пользователь отвечает на мое сообщение, я хотел бы анализировать ответ пользователя, который сделал ответ, в режиме реального времени, и в зависимости от комментария я выполняю определенные операции.
Итак, я 'Я спрашиваю об этом, потому что мне трудно найти, как на самом деле сделать это через Stream, используя Tweepy.
class TwitterStreamer:
def __init__(self):
self.twitter_authenticator = TwitterAuthenticator()
def stream_tweets(self, fetched_tweets_filename):
follow_list = ["myID"]
listener = TwitterListener(fetched_tweets_filename)
stream = Stream(self.twitter_authenticator.authenticate_twitter_app(), listener)
stream.sitestream(follow=follow_list, replies=True)
class TwitterListener(StreamListener):
def __init__(self, fetched_tweets_filename):
super().__init__()
self.fetched_tweets_filename = fetched_tweets_filename
def on_data(self, data):
try:
print(data)
with open(self.fetched_tweets_filename, 'a') as tf:
tf.write(data)
return True
except BaseException as e:
print("Error on_data %s" % str(e))
return True
def on_error(self, status):
if status == 420:
# Returning False on:data method in case rate limit occurs.
return False
print(status)
def on_timeout(self):
print("# # # # Timeout # # # #")
return False
Я попытался через sitestream
, но он возвращает 404, когда я запускаю код.Кроме того, есть ли лучший способ, чем делать: stream.filter(follow=follow_list)
и затем игнорировать возвращенные данные if data.in_reply_to_user_id not in follow_list: