2016-10-11 7 views
0

Я пытаюсь выяснить, если я следую за пользователем, с которого потоковый API только что получил твит. Если я этого не сделаю, я хочу следовать за ним.Python - Tweepy - Как использовать lookup_friendships?

У меня есть что-то вроде:

def checkFollow(status): 
    relationship = api.lookup_friendships("Privacy_Watch_",status.user.id_str) 

Оттуда, как я могу проверить, если я последовать за этим уже?

+0

[Эта функция] (http://docs.tweepy.org/en/v3.5.0/api. html # API.exists_friendship) должен делать то, что вы хотите. – Efferalgan

+0

Эй, спасибо! Я читал, что эта функция устарела, но документ не обновляется. Разве это не так? – Ncollig

+0

О, [вы правы] (https://github.com/tweepy/tweepy/issues/525). Виноват. – Efferalgan

ответ

0

Метод lookup_friendships будет возвращать всех, кого вы будете следовать, каждый раз, когда вы его вызываете, в блоках из 100 пользователей. Если вы будете следить за множеством людей, это будет крайне неэффективно и потребует много запросов.

Вы можете использовать вместо этого метод show_friendship, он вернет JSON, содержащий information, о ваших отношениях с предоставленным идентификатором.

я не могу проверить это прямо сейчас, но следующий код должен делать то, что вы хотите:

def checkFollow(status): 
    relation = api.show_friendship(source_screen_name=your_user_name, target_screen_name=status.user.id_str) 
    if relation.target.following: #I'm not sure if it should be "target" or "source" here 
     return True 
    return False 
+0

Привет! Спасибо, похоже на решение. Я проверю это и дам знать, как это происходит. – Ncollig