如何使用Tweepy回复特定的推文?

4

我正在尝试创建一段代码,以简单回复(给定)推文,我只知道api.update_status用于发送推文,但不知道如何回复推文,我做了一些研究,但所有内容都已过时,“in_reply_to_status_id”似乎不再起作用。

api = tweepy.API(auth)

api.update_status
1个回答

4
为了使用 Twitter API v2 回复一条推文,您需要使用 in_reply_to_tweet_id。具体操作如下。
import tweepy

client = tweepy.Client(consumer_key='YOUR_CONSUMER_KEY',
                       consumer_secret='YOUR_CONSUMER_SECRET',
                       access_token='YOUR_ACCESS_TOKEN',
                       access_token_secret='YOUR_ACCESS_TOKEN_SECRET')

client.create_tweet(text='Some reply', in_reply_to_tweet_id=42)

这在文档这里有所描述。
in_reply_to_tweet_id (可选[Union[int, str]]) - 被回复的推文的推文ID。 编辑: 如果您使用的是API v1.1,则需要在状态文本中包含@username,其中username是所引用推文的作者。 这在这里有所描述。
因此,一个工作示例如下。
comment = '@usernameOfTweet Test Reply'
res = api.update_status(comment, in_reply_to_status_id=42)

还可以使用 auto_populate_reply_metadata=True,参见这个 Github 问题中的讨论。

comment = 'Test reply'
api.update_status(comment, in_reply_to_status_id=42, auto_populate_reply_metadata=True)

这也在文档中有描述。

auto_populate_reply_metadata - 如果将其设置为 true 并与 in_reply_to_status_id 一起使用,则会从原始推文中查找前导 @ 提及,并将其添加到新推文中。


我正在使用Api v1.1。 - TheDz 78
请查看我的更新答案。 - David Scholz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接