我的这段代码有问题:
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个字元),然后再回覆一张抵免额。我已经尝试修复了几个小时:/
答案 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 /代码的更多信息会有所帮助。