TL1 用户第一天的最大主题数似乎与博客不符

基于此处的描述 (Understanding Discourse Trust Levels),引用:

信任等级为 1 的用户可以……
使用所有核心 Discourse 功能;所有新用户限制均已移除

其中一个用户限制是(也引用):

信任等级为 0 的用户不能……
发布超过 3 个主题

我认为这指的是 max_topics_in_first_day 设置,该设置在此函数 (github 链接) 中使用:

  # Additional rate limits on topics: per day and private messages per day
  def limit_topics_per_day
    return unless regular?
    if user && user.new_user_posting_on_first_day?
      limit_first_day_topics_per_day
    else
      apply_per_day_rate_limit_for("topics", :max_topics_per_day)
    end
  end

看起来 new_user_posting_on_first_day 并不完全符合上面博客页面的描述。它的实现是:

  def new_user_posting_on_first_day?
    !staff? && trust_level < TrustLevel[2] &&
      (
        trust_level == TrustLevel[0] || self.first_post_created_at.nil? ||
          self.first_post_created_at >= 24.hours.ago
      )
  end

**根据代码:**如果用户是 TL1,并且他们在第一天创建了第一个帖子,那么此函数返回 true,并且 max_topics_in_first_day 限制适用。

**根据博客:**如果用户是 TL1,所有新用户限制都已移除。所以我认为“max_topics_in_first_day”不应适用。


我的问题:

  1. 这是代码中的错误吗?
  2. 如果是故意的,那么是否有专门的设置来控制 TL1 用户在第一天可以创建的主题数量?我希望它比 TL0 的数量更高。

抱歉打扰了——但我们正在努力应对产品讨论论坛上持续的垃圾邮件攻击 :cry:

我们正在考虑的解决方案之一是,如果新注册用户之前已在(外部网站上)注册过我们的产品,则自动将其升级到 TL1,然后严格限制所有 TL0 用户。

根据当前的用法模式,我们的合法用户将始终从 TL1 开始,而垃圾邮件发送者将从 TL0 开始。因此,能够专门为 TL0 用户限制主题的速率将会很有帮助。

看起来这样的设置不存在。博客文章暗示应该存在。因此,我想知道这是否是一个错误。如果这是故意的,请将我的帖子视为功能请求 :slightly_smiling_face: