Reddit到Twitter python bot错误(python:使用了praw和tweepy)

时间:2018-11-11 04:26:37

标签: python tweepy reddit praw

我的这段代码有问题:

timeline = tweepy.Cursor(api.user_timeline).items(1)
for submission in reddit.subreddit('StonerPhilosophy').top('hour' , limit=1):    
        if len(submission.title) <= 280:
            try:
                api.update_status(status = submission.title)
                sleep(120)
                for tweet in timeline:
                    api.update_status(status = 'Credits: Posted by /u/' + str(submission.author) + 'url: redd.it/' + str(submission.id) , in_reply_to_status_id = tweet.id)
            except:
                print('Fail')
        elif len(submission.title) <= 560:
            try:
                s = submission.title
                first_half  = s[0:len(s)//2]
                second_half = s[len(s)//2 if len(s)%2 == 0 else ((len(s)//2)+1):]

                api.update_status(status = first_half)
                for tweet in timeline:
                    api.update_status(status = second_half) , in_reply_to_status_id = tweet.id)

                sleep(120)

                for tweet in timeline:
                    api.update_status(status = 'Credits: Posted by /u/' + str(submission.author) + 'url: redd.it/' + str(submission.id)) , in_reply_to_status_id = tweet.id)
            except:
                print('Fail')

当我尝试运行它时,出现“无效语法”错误。问题出在“ tweet.id”(但是由于某种原因,第二个和第三个,第一个没有问题...:/)

我在使用'tweet.id'所做的事情基本上是获取我上一条推文的ID,以便我可以用鸣谢或第二部分来回复(我必须将某条推文分为两部分(如果长度超过280个字元),然后再回覆一张抵免额。我已经尝试修复了几个小时:/

1 个答案:

答案 0 :(得分:0)

不确定您的API调用应该是什么样,但是假设 api.update_status()具有状态和tweetID;您只是在传递状态。如果看一下它的括号, api.update_status(status = second_half)仅是您要调用的,如果它在运行过程中没有由于行的其余部分而失败的话。

您可能会有更好的运气:

api.update_status(status = second_half, in_reply_to_status_id = tweet.id)

有关您的API /代码的更多信息会有所帮助。