此reddit机器人旨在在调用关键字'!randomhelloworld'时对子 reddit中的评论使用随机答案进行回复。它会答复,但始终显示相同的注释,除非我停止并重新运行该项目。如何调整代码,使其始终显示随机注释?
import praw
import random
random_answer = ['hello world 1', 'hello world 2', 'hello world 3']
QUESTIONS = ["!randomhelloworld"]
random_item = random.choice(random_answer)
def main():
reddit = praw.Reddit(
user_agent="johndoe",
client_id="johndoe",
client_secret="johndoe",
username="johndoe",
password="johndoe",
)
subreddit = reddit.subreddit("sandboxtest")
for comment in subreddit.stream.comments():
process_comment(comment)
def process_comment(comment):
for question_phrase in QUESTIONS:
if question_phrase in comment.body.lower():
comment.reply (random_item)
break
if __name__ == "__main__":
main()
问题来源:stackoverflow
看起来问题在于代码的这一点
random_item = random.choice(random_answer)
.
.
.
if question_phrase in comment.body.lower():
comment.reply(random_item)
您将在开始时将随机值分配给变量,并在以下函数中使用它。因此,它总是返回相同的值。
您可以通过这种方式进行更改并尝试。
if question_phrase in comment.body.lower():
comment.reply(random.choice(random_answer))
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。