私人消息与主题的限制

我认为我遇到一个 bug,但需要知情人士确认。

在我们的社区中,成员在每月某些时段需要发送大量私信。为满足这一需求,我们将“每日最大私信数量”从默认的 20 条提升至 50 条,我们认为这一水平足以满足他们的需求(我们意识到潜在的垃圾信息问题,但已通过其他方式进行处理)。

然而,成员们仅发送 20 条消息后就会被阻止,原因是触发了另一个限制:

我知道从技术上讲,消息本质上类似于主题,但我仍没想到在修改了“每日最大私信数量”设置后会出现这种情况,因为系统还设有独立的“每日创建主题数量”限制:

根据我们的测试,我们理解“每日最大私信数量”限制并不适用于“回复”数量,因此实际上它限制的是每天新建的“消息主题”数量。这样一来,这两个设置似乎存在冲突。

“每日最大主题数量”是否也应适用于消息“主题”?如果是,那么“每日最大私信数量”的作用是什么?如果不是……那就是 bug 吗?

3 个赞

这听起来确实像是一个漏洞。我们下周能复现这个问题吗,@tshenry

2 个赞

我觉得问题出在代码本身:

limit_private_messages_per_day 会检查该主题是否为私信(PM),而 limit_topics_per_day 却没有检查该主题是否为普通(非私信)主题。

我认为只需在 limit_topics_per_day 的开头添加 return unless regular? 即可。

我会尝试验证这一点,并争取在本周末前提交一个 Pull Request!

4 个赞

这可以通过以下内容修复:

5 个赞

感谢您的修复!:+1:

1 个赞

我同意所有这些观点,但我觉得我们还应该添加一个“每日个人消息主题数量上限”的站点设置。@sam,你能否在下周安排处理?这应该不难。我不喜欢目前用户每天可创建的私信主题数量实际上没有限制的做法。

1 个赞

这应该通过 max_personal_messages_per_day 进行限制。该设置可能需要重命名以增强清晰度,但据我理解,它限制的是新的私信主题,而非回复。这确实是我在创建与该 PR 配套的测试时想要检查的内容。

我认为我们目前没有针对主题或私信的全局每日最大回复数设置。

1 个赞

啊!请检查一下,如果确实如此,请确保网站设置的描述文案能清楚地说明这一点。

1 个赞

确认!我测试的用户在创建新私信时受到了速率限制,但在回复现有私信时没有。

关于描述文案,当前“每日最大个人消息数”设置的描述为:

用户每天可创建的消息最大数量。

您觉得以下哪种更好:

用户每天可创建的新个人消息最大数量。

或者

用户每天可创建发起个人消息最大数量。

1 个赞

一个调整

用户每天可创建的新私信主题的最大数量。

1 个赞

描述已调整!

3 个赞