开发者社区> 问答> 正文

Reddit Bot:随机回复评论

此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

展开
收起
is大龙 2020-03-23 16:16:40 868 0
1 条回答
写回答
取消 提交回答
  • 看起来问题在于代码的这一点

    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

    2020-03-23 16:16:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载