创建自动回复自动化

:bookmark: 本指南介绍如何使用 Discourse 中的自动化插件设置自动回复器。自动回复器可以自动回复包含特定关键字的帖子或私人消息。

:person_raising_hand: 所需用户级别:管理员

Discourse 中的自动回复器可以自动回复包含特定关键字或短语的帖子。此功能可以通过自动回复常见查询或情况来帮助版主和管理员专注于更复杂的任务。

摘要

本指南涵盖:

  • 创建新的自动回复器脚本
  • 选择和配置触发器
  • 设置单词/答案对
  • 启用自动化

创建新脚本

  1. 导航到您站点的自动化页面:example.discourse.com/admin/plugins/discourse-automation
  2. 点击 + 创建 以创建新脚本
  3. 选择 自动回复器 选项
  4. 再次点击 + 创建 继续

选择触发器

选择以下两个触发器选项之一:

  1. 帖子创建/编辑
  2. 私人消息创建

帖子创建/编辑触发器选项

  • 操作类型:限制为创建或编辑的帖子
  • 类别:限制为特定类别
  • :限制为特定组收件箱中的私人消息
  • 忽略自动化:如果发件人具有 noreply 电子邮件或来自自动化源,则跳过
  • 忽略组成员:如果发件人是指定组成员,则跳过
  • 有效信任级别:限制为具有特定信任级别的用户发布的帖子
  • 仅限首帖:限制为用户的首帖
  • 仅限首帖:限制为用户的首个主题

私人消息创建触发器选项

  • 用户:限制为发送给特定用户的 PM
  • :限制为发送给特定组的 PM
  • 忽略工作人员:如果发件人是工作人员用户,则跳过
  • 忽略自动化:如果发件人具有 noreply 电子邮件或来自自动化源,则跳过
  • 忽略组成员:如果发件人是指定组成员,则跳过
  • 有效信任级别:限制为具有特定信任级别的用户发送的 PM

配置脚本选项

设置触发器后,配置以下选项:

  1. 单词/答案对:定义关键字和相应的响应
  2. 回复用户:选择自动回复的用户帐户
  3. 仅一次复选框:将自动化限制为每个主题仅触发一次

设置单词/答案对

  1. 点击 单词/答案对列表 旁边的 配置 按钮
  2. 输入键/值对:
    • :触发词或短语(不区分大小写)
    • :自动响应文本

:information_source: 被评估为正则表达式字符串。使用反斜杠(例如 \\.)转义特殊字符,如 .。您可以在 regex101.com 上使用 ECMAScript 风格测试您的正则表达式。

:mega: 字段中使用 %%KEY%% 作为检测到的触发词的占位符。

启用自动化

  1. 勾选屏幕底部的 启用 复选框
  2. 点击 更新 以保存您的更改

:warning: 如果不勾选 启用 复选框,自动化也可以保存而无需启用。

9 个赞

是否可以将自动回复限制在主题的初始帖子?有人可能会认为“Once”可以做到这一点,但(显而易见地回顾)只有当主题是在自动化之后创建的,这才是正确的。

1 个赞

或者(或者另外?),能否将自动帖子回溯到紧随主题 OP 之后(然后按此顺序合并)?

1 个赞

我的用例:使用新的投票回复某个类别中的主题。

1 个赞

所以……你有一个旧讨论的类别,当有人回复时,你会收到一个无用的自动回复,但该回复包含有关创建主题的有用信息……对吗? :smiley:

如果确实如此,那么很抱歉,我认为目前的自动化不支持这种行为。我检查了其他自动化,我认为唯一可能有效的可能是 AI 辅助分类,但要获得你想要的结果,这似乎成本很高:sweat_smile:

3 个赞

是的,没错。要为这个选项添加一个只响应新主题的新选项,难度有多大?

1 个赞

4 个帖子已拆分为新主题:自动回复器是否可以响应 @提及?

帖子已拆分为新主题:创建/编辑帖子以触发私信自动化

回复中还有其他可用的模板变量吗?我想访问私信群组的人的用户名。

目前,在自动回复器自动化中,我们唯一可用的模板变量是在 value 字段中使用 %%KEY%% 作为检测到的触发词的占位符。

在自动回复器自动化中,似乎没有内置变量可以访问通过私信(PM)与群组互动的人的用户名。这是当前实现中的一个限制,因为 Discourse 的其他功能(如电子邮件模板、AI 角色和“发送私信”自动化脚本)确实提供了各种与用户相关的变量。

考虑到这一点,这与其他一些关于此类功能的请求类似。

  1. 一项关于向“发送私信”脚本添加用户真实姓名变量的请求
  2. 一项关于直接消息接收者的预设回复变量的功能请求

如果您对此功能感兴趣,我鼓励您创建一个 Feature 主题,并提供更多关于您希望在此自动化中添加哪种类型的模板变量的信息。对某项功能表示兴趣的人越多,它就越有可能被集成到 Discourse 中。这听起来是个很棒的主意,我们很想了解更多您想要的内容。 :slightly_smiling_face:

2 个赞

是否可以使用通配符来触发对不符合您创建的任何键值对的主题的响应?

另外,如果同一主题中提到了多个关键字,响应是如何选择的?按字母顺序,还是从上到下?

您好 @tknospdr

自动回复触发器检测旨在响应您在键/值对中定义的特定正则表达式模式。没有明确的“捕获所有”功能可以在没有其他键值对匹配时触发。

但是,由于键被评估为正则表达式字符串,您可以在最后一个条目中创建一个非常宽泛的正则表达式模式,该模式几乎可以匹配任何内容。类似 .* 的内容可以作为捕获所有正则表达式,但这将匹配所有内容(包括匹配您其他模式的内容)。

当帖子或主题中找到多个关键字时,自动回复器将响应所有匹配的响应。响应将按照键/值对添加的顺序或在配置中列出的顺序发布。

这意味着,如果您的帖子包含匹配多个模式的关键字,您将按单词/答案对列表中的顺序收到多个自动响应。

1 个赞

哦,那可不好。这是为我们的票务系统准备的,我不想在客户请求帮助时向他们发送 2 或 3 封不同的电子邮件回复。

如果有一个设置可以:
:white_check_mark: 将多个键值对匹配合并为一个回复。

在此之前,我将回到最初的用例,输入 .* 并使用统一的通用回复。不过,这需要仅在 {user} 在 {category} 中未发布 {x} 天后才触发。