【发布时间】:2020-08-09 10:59:30
【问题描述】:
我制作了一个 Twitter 机器人,每次 Lil Uzi Vert 或 Playboi Carti 发推文时,它都应该在他们的 subreddit 上发布。我遇到的问题是,它不断在两个子版块上向 Lil Uzi Vert 的最后一条推文发送垃圾邮件。因此,我也被禁止了。
如果我尝试只关注我的 Twitter 帐户,它会起作用。
发现问题:每当有人喜欢或转发他们的推文时,它将被视为另一个新状态,因此将其发布在 Reddit 上。 (不管是哪个帖子,可能更老)。我怎样才能使它仅在其中一个推文或回复时才起作用?
import praw
import tweepy
def submit(status):
r = praw.Reddit(
client_id="",
client_secret="",
username="",
password="",
user_agent=""
)
subreddit = r.subreddit('playboicarti')
subreddit.submit("new tweet", status)
subreddit = r.subreddit('liluzivert')
subreddit.submit("new tweet", status)
# Twitter part
class MyStreamListener(tweepy.StreamListener):
def __init__(self, api):
self.api = api
def on_status(self, status):
status = f"https://twitter.com/user/status/{status.id}\nHe said: {status.text}"
submit(status)
def on_error(self, status):
print("Error detected" + str(status))
def twitter():
# Authenticate to Twitter
auth = tweepy.OAuthHandler("", "")
auth.set_access_token("",
"")
# Create API object
api = tweepy.API(auth, wait_on_rate_limit=True,
wait_on_rate_limit_notify=True)
tweets_listener = MyStreamListener(api)
stream = tweepy.Stream(api.auth, tweets_listener)
stream.filter(follow=["101263750", "1599608046"])
if __name__ == "__main__":
twitter()
【问题讨论】:
-
当您在 MyStreamListener 类中调用 status 时,您会转到一个 subreddit 并以固定状态发布。然后,使用相同的固定状态,您更改为另一个 subreddit 并发布新帖子。你什么时候改变其他 subreddit 的状态?
-
@SergioR 我没有,因为我想在两个子版块上发布相同的内容。粉丝们都喜欢这两位艺术家
标签: python python-3.x twitter reddit