自动粘贴评论

自动粘贴评论 允许您基于现有的自动化moderatior YAML配置自动粘贴评论,只需进行最小的更改即可。 不再需要创建工作绕过来确保每个提交都有粘贴评论,即使您有不同的规则可能会过滤帖子。 支持标题匹配和/或帖子标签ID。

配置设置

该应用程序在您的子ред贴应用程序设置面板中提供了两个可自定义设置字段:

自动粘贴规则(YAML)

  • 描述: 一个文本区域,其中您使用AutoModerator样式格式写入特定的路由规则。
  • 行为: 规则以 --- 分隔。应用程序从顶部到下部(首先匹配)检查这些规则。 一旦帖子满足了规则中的所有条件,相应的评论将被触发,所有后续规则都将被跳过。

默认评论(可选)

  • 描述: 当incoming帖子不符合您的任何活跃YAML规则时使用的回退消息。
  • 行为: 如果YAML规则字段为空,或者帖子失败匹配任何规则,这个回退评论将被发布。 如果您不想使用回退评论,请将此字段留空。

如何评估新帖

当用户提交新帖时,应用程序通过严格的步骤顺序处理它:

  1. 双重帖子保护(幂等性): 应用程序立即检查是否已经处理过这个exact帖子。如果Reddit重复递交“新帖”事件(或如果一个错误重试事件),应用程序记住帖子ID并安全地忽略重复,确保您的用户永远不会看到双重机器人评论。
  2. 顺序规则检查: 应用程序从顶部到下部读取您的自定义YAML配置。如果帖子满足规则中列出的每个要求(例如匹配特定标签或标题中的关键字),它触发特定评论并停止检查。
  3. 回退到默认值: 如果帖子不符合您的自定义规则,或者您尚未编写任何YAML规则,应用程序回退到“默认评论”文本。如果该字段也为空,应用程序结束并没有发布评论。

规则YAML参考

条件

规则块内的所有条件必须为真(AND语义)。如果您在单个条件中提供多个文本值,匹配任何一个就足够了(OR语义)。

标题检查

yaml
title (包含): keyword          # bare text
title (包含):                  # 或一个包含多个选项的列表
  - keyword one
  - keyword two

title (不包含): unwanted
title (以...开头): "[帮助]"
title (以...结尾): "?"
title (全匹配): Exact Post Title Here
title [正则表达式]: '^\[Discussion\]'   # (包含)
title [不正则表达式]: '\bNSFW\b'      # (排除)

注意:标题文本匹配始终为大小写敏感

帖子标签检查

yaml
post_flair_id: 9f2a1b3c-0000-0000-0000-aabbccddeeff   # 单个ID

post_flair_id:                                         # 或标签列表
  - 9f2a1b3c-0000-0000-0000-aabbccddeeff
  - deadbeef-0000-0000-0000-112233445566

动作

yaml
comment: |
  你的评论文本这里。
  支持Markdown。
  模板变量:{{author}}  {{subreddit}}  {{title}}  {{url}}

comment_stickied: true    # 默认:true  — 将评论固定
comment_locked: true      # 默认:true  — 禁止公共回复

源代码可在 GitHub 上找到:https://github.com/Treviso/auto-sticky