TL1ユーザーのMax_topics_in_first_dayは、ブログと一致していないようです

この説明(https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/)に基づくと、引用符で囲まれた部分は以下のようになります。

トラストレベル1のユーザーは…
すべてのコアなDiscourse機能を使用できます。新規ユーザーの制限はすべて解除されます。

ユーザー制限の1つは(これも引用符で囲まれた部分です):

トラストレベル0のユーザーはできません…
3件以上のトピックを投稿する

これは、この関数(githubリンク)で使用されている max_topics_in_first_day 設定を指していると思われます。

  # トピックに対する追加のレート制限:1日あたりのトピック数と1日あたりのプライベートメッセージ数
  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:

検討中の解決策の1つは、以前に当社の製品(外部サイト)にサインアップしたことがある新規登録者を自動的にTL1にアップグレードし、その後、すべてのTL0ユーザーを厳しく制限することです。

現在の使用パターンに基づくと、正規のユーザーは常にTL1から開始し、スパマーはTL0から開始します。したがって、TL0ユーザーのトピックのレート制限を特に設定できると役立ちます。

そのような設定は存在しないようです。ブログでは存在するはずだと示唆しています。そのため、これはバグなのか疑問に思っています。もし意図的なものであれば、私の投稿を機能リクエストとしてご検討ください :slightly_smiling_face: