背景
目前,在配置 Discourse Automation 插件中的触发器时(例如,“帖子创建”、“主题创建”),我们会看到一个 “分类” 过滤器。这充当一个 白名单:自动化仅在所选的特定分类中运行。
问题
这种白名单方法给那些希望应用“全局”自动化但只有少数例外的社区带来了摩擦和维护负担。
如果我希望自动化在所有分类中运行,但排除 #staff 分类:
- 初始设置: 我必须手动选择每一个公共分类。
- 维护: 每当我们将来创建一个新分类时,自动化默认不会在该分类上运行。管理员必须记住返回“自动化”设置并将新分类添加到列表中。
建议的解决方案
我建议添加一个 “排除分类”(黑名单)字段。
期望的行为:
- 如果“分类”留空而“排除分类”已填写:在除排除的分类外的所有分类上运行。
- 这确保了面向未来的兼容性:稍后创建的任何新分类都将自动继承该自动化,无需手动干预。
用例示例
场景:在特定频道中防止“机器人冲突”
目标: 我有两个不同的自动化:
- 欢迎机器人: 回复
#Introductions分类中的新用户,向他们介绍论坛概况。 - 支持机器人: 回复技术分类中的主题,要求提供日志/详细信息。
问题: 我希望支持机器人在除 #Introductions 之外的所有地方运行。目前,为了防止支持机器人在介绍帖中回复(并用技术问题困扰新用户),我必须使用“包含”列表手动选择每一个技术分类。
修复方法: 如果我能简单地将支持机器人设置为 排除:#Introductions,我就可以确保两个机器人不会相互干扰,而无需为支持机器人维护一个庞大的允许分类列表。