如何在用户离开群组时自动静音类别?

您好 Discourse 团队和社区,

我正在寻找一种在用户离开群组时自动将其静音分类的方法。

:rocket: 我想实现的目标

  • 当用户加入群组时,他们会跟踪与该群组相关的分类(这可以通过 Group Category Notification Default 实现)。[:white_check_mark: 我已经通过 Custom Wizard 插件实现了这一点]
  • 当用户离开群组时,他们相关的分类应被自动静音,以便他们停止接收通知和电子邮件摘要。
  • 理想情况下,这应该是完全自动化的,无需手动干预

:red_question_mark: 我的问题

:one: 是否有内置方法(无需编码或 API 调用)可以在用户离开群组时静音分类?
:two: 是否有可能在 Discourse Automations 插件中添加“用户离开群组”作为触发器
:three: 有没有什么变通方法可以避免手动管理员干预?

我很想听听其他人是如何处理这种情况的,或者是否有任何正在进行的功能请求来添加此功能。

提前感谢!:raising_hands:

如果允许某个类别加入该组,则无需静音任何内容,因为离开该组后将无法访问。

感谢 @Jagster
是的,我注意到离开群组后就无法访问了。
但该类别仍然显示在用户端。最新帖子也显示在最新标签页中。

我只想隐藏相关类别,不让它显示在那里。
我正在寻找一种自动化流程来处理这种情况。

那不应该发生。该类别是仅限该组访问的安全类别吗?

不,类别可以被所有人看见。
我想在公共群组中执行此操作。

也许你需要自定义自动化。

不过,这种想法可以很好地添加到群组设置中,也许在有人离开群组时可以作为一个开关。撤销/静音某些最初更改的内容(在添加到群组时授予)

不确定,但如果自定义向导可以自动触发,或者与自动化配对,您也可以使用它。我建议您咨询 Pavilion。

我不明白这背后的逻辑。

  • 随机访客看到类别 X 并看到它,即使是在 /latest
  • 用户登录,不是类别 X 的成员,看到类别 X,并且它在 /latest 上
  • 用户加入类别 X 并获得所有权限(这就是该群组的意义所在?)
  • 用户离开类别 X,仍然可以看到类别 X,但它不会出现在 /latest 中

为什么 :thinking:

你是想真正静音它,还是只是把通知设置恢复为“正常”?

如果是后者,我认为这实际上是一个 Contribute > Bug(或者更准确地说:该实现并不适用于这种用例,尽管从直觉上看它似乎是合理的)。

当我将组 X 设置为关注分类 Y,并成为该组成员时,我确实会自动关注分类 Y。分类 Y 被复制到了我的“关注”分类中。没有任何痕迹显示它是如何进入的,我们不知道它是因为我之前添加的,还是因为我的组成员身份而存在的。

当我离开组 X 时,我仍然关注分类 Y。分类并没有像人们预期的那样从我的“关注”分类中移除。

更改此实现将是一项相当艰巨的工作,所以我猜这目前应该由插件来处理。只需在 :user_removed_from_group 事件触发时获取分类,并从用户偏好设置中移除它们即可。

您认为有可能在没有核心支持的情况下实现这一点吗?

是否已经实现了可以用来跟踪用户在通知级别干预的机制?

据我所知不是。

谢谢 @Jagster
实际上,我想为大型论坛实现它,我只想保持地方干净,每个人都应该根据他们选择的组看到相应的主题。

好的,我会尝试与 Pavilion 确认。

我想静音,但在此情况下正常也可以。

我同意这种方法——它比传统的二元访问/无访问更不僵化。

通常,让那些挖掘它的人可以自由访问某些内容很有用,但只让特定人群高度可见/通知。在 Discourse 中启动这一点非常容易,但很难撤销——我相信这就是您想做的。

用户当然可以自己做到这一点,但在这方面他们通常非常无能。

不幸的是,Custom Wizard Plugin 🧙 需要用户交互才能启动此类操作。需要一个自动化(可能是定制的)来移除不再属于某个组的用户所关注的状态。

或者这需要成为一个功能请求来改变核心行为。已经有一些类似的此类功能请求。

大家好,

非常感谢所有回复的各位,特别是 @Jagster@NateDhaliwal@Heliosurge@thoka@nathank 提供的宝贵见解!经过仔细考虑,我非常希望看到一个选项,允许用户在离开群组时自动静音分类。

我想知道,为 Discourse 正式请求此功能有什么最佳方式?是否有可以提交功能请求的地方,还是这更像是一个为了启动讨论而进行的讨论?

期待听到您的想法!

有,叫做 Contribute > Feature :slightly_smiling_face:

特别感谢 @Canapin 以及所有为讨论做出贡献和提供见解的人!:raising_hands: