基本上,我正在测试信任等级。在信任等级 0 时,我设置成每 24 小时只能发布一条帖子。我配置了 Patreon,使得一旦成为赞助者,用户会自动获得信任等级 1,这意味着发布帖子不受限制。我进行了实验,创建了一个新用户并订阅了 Patreon,成功将其加入了“赞助者”群组,该群组授予信任等级 1。然而,当我尝试让该用户发帖时,系统仍然限制每 24 小时只能发一条。为什么会这样?为什么信任等级 1 没有覆盖该用户的信任等级 0 限制?
我刚刚试过了,还是不行。
让我退一步说。看起来 Patreon 确实 将该用户分配到了信任等级 1。在我发布的图片中,显示该用户的信任等级为"1 - 基础用户”,并且仅通过从 Patreon 注册,就从"0 - 新用户”发生了变化。
但无论 Patreon 做了什么或没做什么,似乎即使我手动将用户放入 tl1 类别,他们仍然受到每 24 小时发帖一次的限制,而不是解除该限制。
另外请注意,我将 rate limit new user create topic 设置为 86400,以便 tl0 用户每 24 小时只能发帖一次。我是不是错在这里?这是否也适用于 tl1 用户?
这确实是问题的根源。该设置应用的频率限制不仅适用于信任等级 0 的用户,也适用于在该站点存在时间不足 24 小时的信任等级 1 用户。
所以你的意思是,这是一个涉及所有信任等级的 24 小时时间问题吗?
例如,如果我将 Patreon 群组提升到信任等级 2、3,甚至 4,这能绕过速率限制吗?
不,该限制仅适用于信任等级 0 的用户,只要他们仍处于该等级就会生效。对于信任等级 1 的用户,限制仅在他们进入网站的头 24 小时内生效。信任等级 2 的用户不受此限制。如果你将信任等级 2 授予你的“赞助者”组成员,他们将绕过该限制。
主要是为了我自己参考,这里使用的逻辑如下:
def new_user?
(created_at >= 24.hours.ago || trust_level == TrustLevel[0]) &&
trust_level < TrustLevel[2] &&
!staff?
end

