如何准确匹配句子,而不是子串匹配

时间:2016-09-06 03:06:05

标签: python bots reddit

所以我使用PRAW创建了一个简单的reddit bot:

import praw
import time
from praw.helpers import comment_stream

r = praw.Reddit("han_solo_response")
r.login()

target_text = "I love you"
response_text = "I know"

processed = []
while True:
    for c in comment_stream(r, 'all'):
        if target_text in c.body and c.id not in processed: 
        #if find comment not in cache
        c.reply(response_text)
        processed.append(c.id)   #then push the response 
        time.sleep(20)

每当有人在reddit的任何地方发布“我爱你”时,每个着名的星球大战电影交流都会产生“我知道”的单独回应。它现在正在运作,但它正在捕捉任何包含“我爱你”的东西,例如我不得不删除一个评论,其中那个人说“我爱你的车”。

如何将其触发器限制为精确地“我爱你”,而不是“你的”或任何其他包含“你”的单词,或者就此而言,使其响应仅由独立短语触发,而不是当它出现在句子的上下文中时。

1 个答案:

答案 0 :(得分:0)

这一行:

if target_text in c.body and c.id not in processed:

应该是:

if target_text == c.body and c.id not in processed:

如果你想让它不区分大小写:

target_text = "i love you"

if target_text == c.body.lower() and c.id not in processed: