【发布时间】:2020-07-29 00:52:46
【问题描述】:
我正在尝试用 praw 制作一个 reddit 机器人,但它会多次回复相同的评论。
这是我的代码:
keyphrases = ["test","test2","test3"]
for comment in subreddit.stream.comments(skip_existing=True):
for keyphrase in keyphrases:
if keyphrase in comment.body:
try:
comment.reply("hi")
except:
print("to frequent")
【问题讨论】:
-
我有两个建议给你。首先,尝试
print(ids)。您会注意到所有 ID 都以换行符结尾。如果评论的 ID 为abc123,当从带有.readlines()的文件中读取时,它将显示为abc123\n。你可以试着去掉这个空白,或者更好…… -
您实际上不需要任何这些文件内容,因为 PRAW 可以为您处理这些。如果你这样做
for comment in subreddit.stream.comments(skip_existing=True),那么 PRAW 只会给你自循环开始以来发布的 cmets,这意味着你永远不会得到重复。然后你不需要对文本文件做任何事情。顺便说一句,您可以查看the documentation 了解更多信息。我希望这会有所帮助! -
@jarhill0 虽然 skip_existing 有帮助,但机器人仍然(很少)开始一遍又一遍地响应相同的评论,只有在我关闭脚本时才会停止,我更新了帖子以显示我当前的代码。
标签: python-3.x praw