允许 TL0 向工作人员组发送消息,但不向其他成员或非工作人员发送?

是否有任何方法可以让 TL0 成员向特定的 Discourse 群组发起消息,但不能向其他普通成员或非工作人员发送?目前我找不到实现此功能的方法。当 TL0 成员向我们的 helpdeskteam 群组寻求帮助时,会收到一条令人困惑且不适的错误消息,如下所示。

该 TL0 用户正在向一个“谁可以发消息给此成员”设置为“所有人”的群组发送消息。如果将该用户提升为 TL1,消息则能正常保存且无错误。

群组中的所有成员都是工作人员,且该 TL0 用户可以单独向每位成员发送消息。

目前看来,避免此错误的唯一方法是允许 TL0 用户向任何其他成员或群组发送消息,但这显得权限过于宽泛。我认为这一权限可能会被垃圾信息发送者以及尚未了解我们社区的新成员滥用。

2 个赞

为什么不让他们发送邮件呢?这封邮件可以由 Discourse 群组处理。

2 个赞

是的,我们确实提供通过电子邮件联系帮助台的方式。我在此询问是否有办法避免那种令人困惑、晦涩难懂的错误提示,以免让遇到该错误的用户感到不适。理想情况下,应允许 TL0 成员直接向帮助台组发送邮件,而不会触发任何错误。

需要说明的是,目前尚无成员对此提出投诉,但我的同事(实际上是我的上司)在检查设置时指出了这条令人困惑的错误信息。

1 个赞

如果错误消息能告知用户为何无法发送私信,那就太好了。

1 个赞

这是一个真实存在的问题,还是臆想出来的问题?

呃,是吗 :wink:

或许可以放一个 mailto: 链接,让 TL0 人员能找到它。他们可能也不知道如何发送私信。

谢谢,Jay!我同意你的看法,在你引用的帖子中我也表达了类似的意思。

也许正如 Simon 所说,错误提示可以改进,以解释用户为何无法向该群组写入内容。这种情况确实比较常见。

3 个赞

这与你之前所说的不一致。

1 个赞

你说得对——我打字太快,没想清楚。文中提到了两个“这个”,我指的是两种不同的情况。

第一个“这个”是指 OP 提到的 TL0 用户无法向群组发消息的问题。目前还没人抱怨,也不是什么大问题。如果你不想处理,我们可以关闭这个话题。:wink: 但我认为,允许 TL0 用户向工作人员和特定群组发起消息会非常有用,这样我们就不必让用户通过电子邮件联系工作人员寻求帮助了。

第二个“这个”指的是我们社区很久以前发生过的一个情况,虽然早已解决,但仍是一个值得关注的边缘案例。过去,我们在 WordPress 的成员个人资料页面提供了一个链接,让用户通过 URL 方法向其他成员发送消息,但后来移除了该链接,因为当用户仍是 TL0 且无法发送私信时,会遇到这个令人困惑的错误。在移除该链接之前,我们确实经常收到关于此问题的咨询。关于这第二种情况,有一个旧话题:Creating pre-filled personal message links

也许可以将错误提示改为:“抱歉,您没有足够的权限发送此个人消息”,或者类似的表述,同时涵盖群组和用户收件人的情况,并说明这是权限问题,而非技术故障。

2 个赞

啊,原来如此,这样更说得通了。

2 个赞

我同意这很令人困惑,这很棘手,因为存在一个站点设置 min trust to send messages(发送消息所需的最低信任等级),所以它必须在此处生效。如果你将其设置为 0,那么我想他们就可以给该群组发消息了。

我发现了这个 bug:

在 meta 上的 TL0 用户会看到这种情况……他们随后可以点击离开,开始创建私信,但最终不被允许发送。

在我看来,我们这里有两个选择,@codinghorror

  1. 如果 team(团队)允许所有人私信它……那么所有人都可以私信它。
  2. 隐藏该按钮,并确保 min trust to send messages 始终生效。

我倾向于直接执行方案 (1),并改进该站点设置的帮助文本。

@codinghorror 你更倾向于哪个?

2 个赞

同意,#1 是个好主意。

1 个赞

我开始着手处理这个问题,并发现“发送消息所需的最低信任等级”会首先在所有私聊(PM)至群组的情况下进行检查。这意味着信任等级为 0(TL0)的用户无法向设置为“接受所有人消息”的群组发送消息。但这也意味着,即使某用户是某个群组的成员,只要其信任等级低于“发送消息所需的最低信任等级”,他就无法向设置为“仅接受成员、版主和管理员消息”的群组发送消息。

我认为修复方案应该是:在向群组发送私聊时,跳过对“发送消息所需的最低信任等级”的验证。这意味着:

  • 如果团队允许所有人发送私聊,那么所有人都可以发送私聊;
  • 如果团队仅允许群组成员发送私聊,那么所有群组成员都可以发送私聊,无论其信任等级如何。

PR:Ignore `min_trust_to_send_messages` setting when messaging groups by pmusaraj · Pull Request #8104 · discourse/discourse · GitHub

更新:此问题现已 合并

5 个赞