TL1 사용자의 Max_topics_in_first_day가 블로그와 일치하지 않는 것 같습니다

여기 설명(Understanding Discourse Trust Levels)에 따르면 인용하자면:

신뢰 수준 1의 사용자는…
모든 핵심 Discourse 기능을 사용할 수 있으며, 모든 신규 사용자 제한이 해제됩니다.

신규 사용자 제한 중 하나는(또한 인용하자면) 다음과 같습니다:

신뢰 수준 0의 사용자는 할 수 없는 것
3개 이상의 주제(Topic)를 게시하는 것

이것은 이 함수(github 링크)에서 사용되는 max_topics_in_first_day 설정을 가리키는 것 같습니다:

  # 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 사용자가 첫날 생성할 수 있는 주제(Topic) 수를 제어하는 전용 설정이 있나요? TL0의 경우보다 그 수치가 더 높기를 원합니다.

이 게시물을 다시 올리는 것이라 죄송합니다. 저희는 제품 토론 게시판에서 진행 중인 스팸 공격에 맞서 싸우고 있습니다. :cry:

고려 중인 해결책 중 하나는 이전에 저희 제품(외부 사이트)에 가입한 적이 있는 신규 가입자를 자동으로 TL1로 승급시키고, 모든 TL0 사용자에게는 엄격한 제한을 부과하는 것입니다.

현재 사용 패턴에 따르면, 합법적인 사용자는 항상 TL1로 시작하는 반면 스팸 공격자는 TL0로 시작하게 됩니다. 따라서 TL0 사용자에게만 특정적으로 토픽에 대한 전송 제한(rate limit)을 적용할 수 있다면 도움이 될 것입니다.

이러한 설정이 존재하지 않는 것으로 보입니다. 블로그에서는 이 기능이 존재해야 한다고 언급하고 있습니다. 그래서 이것이 버그인지 궁금합니다. 만약 의도된 것이라면, 이 게시물을 기능 요청으로 간주해 주십시오 :slightly_smiling_face: