1

坦率地说……我对 Python 还是很陌生。我有一个 reddit 机器人,可以读取我主持的 subreddit 中的单个指定帖子。根据响应的语法,它回复并存储变量(例如评论者姓名、递增编号、已经看过)。

如果 reddit 超时或出现 500/504 错误,我的机器人会重置其变量。下次成功加载帖子时,它将所有用户评论视为新评论并再次回复。

此外,我通过暂时断开我的互联网对此进行了测试。一旦它重新连接,机器人就会做同样的事情。

有没有办法让机器人等待并且仍然记得它已经看到并回复了预先存在的帖子?

非常感谢您对此的任何帮助,谢谢。

对于我所有的搜索和浏览,这与我想出的一样多(再次,我是新手):

except(IOError):
    time.sleep(30)
    pass
4

2 回答 2

1

一种方法是使用 try-catch 块包装互联网访问代码。如果页面获取失败,则跳过当前循环并继续下一次迭代

伪代码:

while True:
  content = None
  try:
    content = fetch_content # might have error
  except:
    continue
  # do reply logic

  sleep(5)
于 2014-03-22T05:20:35.307 回答
0

如果您想让它记住帖子,那么您可以在它回复/看到用户帖子后将其添加到您的代码中

posts = dict()
# some code reading or replying to the comments
posts.setdefault(user, []).append(post) # get posts[user] if it exists, if not create it with a list value, then append the post.
# some of your other code to check if it's in the dictionary

就像也许

for post in posts:
    ...
于 2014-03-22T05:24:28.250 回答