添加脚本以将用户加入用户组

目前有一个自动化插件中的脚本,用于根据自定义字段将用户添加到组。我们希望有一个脚本,在用户被添加到另一个组时,将他们添加到某个组。

场景如下:Discourse Experts 插件要求您只有一个用户组被指定为“专家”。我们正在运行一个大使计划,并且有两个级别的大使——在这种情况下,两者都是“专家”。

我们希望这样说:任何被添加到“大使”或“专家大使”的用户,也应被添加到“专家”用户组。

5 个赞

如果您愿意赞助此事,我认为这并不复杂,我们可以为这项工作报价。请联系 team

2 个赞

还要求:

2 个赞

除了 @JammyDodger 链接到的主题之外,还有一些其他关于类似功能的请求:

还有人请求能够以分层方式显示组:

我注意到这一点只是为了确保添加自动化脚本是处理此问题的最佳方法,或者这是否是应添加到核心 Discourse 组代码的功能。

我一直在随意摆弄这个。这有点与我最近使用 Zapier 进行的一些工作有关。您可以忽略此帖子的其余部分。

假设自动化脚本是正确的方法,唯一的障碍是自动化插件的 group 组件只接受一个组。因此,要么需要更新 group 组件以接受多个组,要么需要添加一个新的 groups 组件。我在本地开发分支中添加了一个 groups 组件进行测试。有了它:

当用户被添加到列表中的任何子组时,将其添加到父组:

如果用户已从所有列出的子组中移除,则将其从父组中移除:

如果对您有帮助,触发器和脚本位于一个插件中:automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub groups 组件添加到 https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields。

4 个赞

此插件现已涵盖此功能: