Python Reddit机器人:随机回复评论

Python Reddit机器人:随机回复评论,python,python-3.x,random,reddit,praw,Python,Python 3.x,Random,Reddit,Praw,此reddit bot设计用于在关键字“!名为“随机HelloWorld”。它会回复,但始终显示相同的注释,除非我停止并重新运行项目。如何调整代码,使其始终显示随机注释 导入praw 随机输入 随机回答=['hello world 1'、'hello world 2'、'hello world 3'] 问题=[“!随机HelloWorld”] 随机项=随机选择(随机回答) def main(): reddit=praw.reddit( user_agent=“johndoe”, 客户_id=“

此reddit bot设计用于在关键字“!名为“随机HelloWorld”。它会回复,但始终显示相同的注释,除非我停止并重新运行项目。如何调整代码,使其始终显示随机注释

导入praw
随机输入
随机回答=['hello world 1'、'hello world 2'、'hello world 3']
问题=[“!随机HelloWorld”]
随机项=随机选择(随机回答)
def main():
reddit=praw.reddit(
user_agent=“johndoe”,
客户_id=“johndoe”,
客户_secret=“johndoe”,
username=“johndoe”,
password=“johndoe”,
)
subreddit=reddit.subreddit(“沙盒测试”)
对于subreddit.stream.comments()中的注释:
过程注释(注释)
def流程注释(注释):
对于问题中的问题\短语:
如果comment.body.lower()中的疑问句:
comment.reply(随机项目)
打破
如果名称=“\uuuuu main\uuuuuuuu”:

main()。然后您就可以使用它返回到每个请求。若要在每个请求中进行新的随机选择,请将随机选择向上移动到该请求

import praw
import random


random_answer = ['hello world 1', 'hello world 2', 'hello world 3']
QUESTIONS = ["!randomhelloworld"]

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():
          random_item = random.choice(random_answer)
          comment.reply (random_item)
        break


if __name__ == "__main__":
    main()

看起来问题就在代码的这一点上

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))