【问题标题】:How can i reply to a tweet using tweepy?如何使用 tweepy 回复推文?
【发布时间】:2017-07-31 04:07:53
【问题描述】:

我正在尝试使用 tweepy 和 python 制作一个推特机器人,但我不知道如何回复推文。

import tweepy
from Keys import keys
import time

CONSUMER_KEY = keys['consumer_key']
CONSUMER_SECRET = keys['consumer_secret']
ACCESS_TOKEN = keys['access_token']
ACCESS_TOKEN_SECRET = keys['access_token_secret']

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
auth.secure = True
api = tweepy.API(auth)

message = " Test message"

for tweet in tweepy.Cursor(api.search, q='search_item', lang = 'en').items(1):
try:
    print ("Found tweet by:@" + tweet.user.screen_name)
    api.update_status('@' + tweet.user.screen_name + message)
    print 'responded to @' + tweet.user.screen_name

    if tweet.user.following == False:
        tweet.user.follow()
        print ("following @" + tweet.user.screen_name)

except tweepy.TweepError as e:
    print(e.reason)
    time.sleep(3)
    continue
except tweepy.RateLimitError:
    time.sleep(15*60)
except StopIteration:
    break

我可以用@username 发布一条推文,然后说出这条消息,但无法让它回复。

【问题讨论】:

    标签: python twitter tweepy reply


    【解决方案1】:

    那么,这很简单。我必须使用 @ 表示法指定推文是针对谁的。

    api.update_status('My status update @whoIReplyTo',tweetId) 
    

    【讨论】:

    • 你能澄清一下吗?当我按照您所说的进行操作时,终端会在关键字 arg 之后显示“非关键字 arg”。你的意思是实际的 tweetId,如果是,我如何用 tweepy 找到它?
    • @Peyton tweetId = tweet['results'][0]['id']
    【解决方案2】:

    我终于明白了。 回复推文的代码是:

    api.update_status(status = "your message here", in_reply_to_status_id = tweet.id_str)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-08
      • 2016-11-28
      • 2016-11-04
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 2016-10-20
      相关资源
      最近更新 更多