@Heliosurge 我觉得这个想法很有趣。根据我阅读的关于该插件的信息,其中一些已经实现了。就我而言,要解决我的核心问题,我需要类似以下的内容:
| 脚本名称 | 插件 | 描述 |
|---|---|---|
| 锁定信任级别 | automation |
如果用户发布过多内容、包含过多不当图片、滥用标记系统或类似行为,则可以采取另一种措施,将用户锁定在信任级别 0。这将限制用户可以创建的主题和帖子的数量(和频率),并阻止他们包含过多图片/链接,以及阻止用户进行标记。信任级别可以从用户的管理页面进行配置。 |
| 禁言用户 | automation |
被禁言的用户无法在网站上创建新主题、帖子、标记或私信。他们仍然可以执行其他操作,例如“点赞”帖子、阅读主题、回复私信等。此外,他们可以通过私信与版主沟通,以便您可以继续与他们沟通以解决行为问题。 |
| 暂停用户 | automation |
被暂停的用户无法登录,因此无法在论坛上执行任何操作。暂停是您可以对用户采取的最强有力的措施,应谨慎使用。与禁言一样,暂停用户是从用户的管理页面完成的。与禁言一样,暂停是有时限的。您可能希望先短期暂停用户,如果用户返回并继续该行为,则增加暂停时间。 |
| 信任级别冻结 | trigger-automation |
在用户被禁言或暂停的情况下,会触发“锁定信任级别”触发器。 |
信任级别冻结触发器如何工作
- 信任级别冻结 - 自动触发以下事件:
- 禁言用户 - 警告
- 暂停用户 - 第一次犯规
- 锁定信任级别 - 第二次犯规
最终解决方案
- 简而言之,将需要 4 个插件。只有最后一个插件会调用其他插件,如以下主题所示:信任级别冻结触发器如何工作。
- 尽管有用户被禁言或暂停的情况,但我上面提到的例子是针对垃圾邮件、账户安全风险、滥发消息或行为、举报 - 当用户请求阻止其信任级别时。仍然存在用户因个人原因被禁言或暂停的情况,即自我报告:
- “我请求锁定信任级别,因为我不想成为某个事物的领导者。”
- “我正在旅行,我想阻止我的信任级别,我不知道在此期间他们是否能破解我的账户。”
- “我认为我的账户已被破解,我希望在 Discourse 社区调查此案之前冻结我的信任级别。”
- 注意:这些自我报告其账户的用户 - 他们可以请求暂停账户、禁言账户,甚至在我提到的情况下阻止信任级别。
- 如果用户提供任何证明他们不应被暂停、禁言或保护其信任级别的证据,则账户恢复正常。
备注
- 我已经这样做了几次,感谢反馈,JammyDodger ;D 我阅读了这份文档,我认为它很棒:https://meta.discourse.org/t/discourse-moderation-guide
- Dan DeMontmorency - 你觉得这个想法怎么样?有可能创建这样的东西吗?
新想法
- 一个可行的替代方案可能是这个,这可以通过 通过 API 暂停用户 、 通过 API 禁言用户 、 通过 API 将用户添加到组 、 discourse-docs-api-org 、 自动暂停不活跃用户 、 discourse_api_pull_121 来实现,唯一的问题是我还没有看到关于锁定信任级别的 API 信息。
- 我们可能有与 API 通信以实现此目的的插件:silence-user-via-api、auto-suspend-inactive-user、“locking trust level”、suspend-a-user-via-the-api。
- 我的想法是拥有信任安全插件 - 该插件与以下 API 通信:silence-user-via-api、auto-suspend-inactive-user、“locking trust level”、suspend-a-user-via-the-api。
- 我的初步建议是,拥有这些端点会很棒:
${this.url}admin/users/${userId}/groups/report/spam${this.url}admin/users/${userId}/groups/report/lockingtrustlevel${this.url}admin/users/${userId}/groups/report/accountsecurityatrisk${this.url}admin/users/${userId}/groups/report/abusivemessagesorbehavior${this.url}admin/users/${userId}/groups/userwishthis/lockingtrustlevel${this.url}admin/users/${userId}/groups/userwishthis/accountsecurityatrisk${this.url}/admin/users/:user_id/report/spam${this.url}/admin/users/:user_id/report/lockingtrustlevel${this.url}/admin/users/:user_id/report/accountsecurityatrisk${this.url}/admin/users/:user_id/report/abusivemessagesorbehavior${this.url}/admin/users/:user_id/userwishthis/accountsecurityatrisk${this.url}/admin/users/:user_id/userwishthis/lockingtrustlevel
但已经可以解决问题的是,可以这样做 poc - 概念验证
${this.url}/admin/users/:user_id/silence${this.url}/admin/users/:user_id/lockingtrustlevel${this.url}admin/users/${userId}/groups/silence${this.url}admin/users/${userId}/groups/lockingtrustlevel