신뢰 등급 문제, tl1이 tl0을 덮어쓰지 않음

결국, 저는 신뢰 수준(trust levels)을 실험하고 있습니다. 신뢰 수준 0의 경우, 24시간마다 게시물 하나만 작성할 수 있도록 설정했습니다. Patreon을 설정하여 후원자가 되면 자동으로 신뢰 수준 1을 부여받게 했는데, 이는 게시에 제한이 없음을 의미합니다. 그래서 이 설정을 실험해 보았는데, Patreon에 구독한 새 사용자를 만들었고, 성공적으로 Patron 그룹에 배치되어 신뢰 수준 1을 받았습니다. 하지만 이제 이 사용자가 게시물을 작성하려고 하면 여전히 24시간마다 한 번만 작성할 수 있습니다. 왜 이런 일이 발생하는 걸까요? 이 사용자의 경우 신뢰 수준 1이 신뢰 수준 0의 제한을 왜대체하지 못하는 걸까요?

Patreon이 사용자를 신뢰 수준 1로 직접 지정할 수 있다고 생각하지 않습니다. 해당 그룹은 Discourse에서 특별히 관리하는 그룹이기 때문입니다. Patreon용 그룹을 생성하고, 그 그룹을 통해 사용자를 TL1로 지정하는 것이 좋습니다. 그룹 페이지의 멤버십 탭에서 설정할 수 있습니다:

방금 시도해 봤는데도 여전히 작동하지 않습니다.

조금 뒤로 돌아가서 설명드리겠습니다. Patreon이 이 사용자에게 신뢰 수준 1을 실제로 배정한 것 같습니다. 제가 올린 이미지에서 사용자의 신뢰 수준이 "1 - basic user"로 표시되어 있고, 이는 Patreon에서 가입만 했을 뿐인데 "0 - new user"에서 변경된 것입니다.

하지만 Patreon이 무엇을 했든, 사용자가 tf1 카테고리에 수동으로 배정되어도 여전히 24시간마다만 게시할 수 있는 제한이 적용되며, 해당 제한이 해제되지 않는 것 같습니다.

또한, tl0 사용자는 24시간마다만 게시할 수 있도록 rate limit new user create topic을 86400으로 설정해 두었습니다. 이것이 제가 잘못하고 있는 부분일까요? 아마도 이 설정이 tl1 사용자들에게도 적용되고 있는 걸까요?

이것이 문제의 원인이 될 것입니다. 해당 설정에서 적용되는 속도 제한은 신뢰 수준 0(tl0) 사용자와 사이트에 가입한 지 24시간 미만인 신뢰 수준 1(tl1) 사용자 모두에게 적용됩니다.

즉, 모든 신뢰 수준에서 24시간 시간 제한 문제가 있다는 말씀이신가요?

예를 들어, Patreon 그룹을 신뢰 수준 2, 3, 또는 4로 승격하면 이 속도 제한을 우회할 수 있을까요?

아니요, 제한은 신뢰 등급 0 사용자의 경우 신뢰 등급 0으로 있는 동안 적용됩니다. 신뢰 등급 1 사용자의 경우 사이트 가입 후 첫 24시간 동안 제한이 적용됩니다. 신뢰 등급 2 사용자에게는 제한이 적용되지 않습니다. Patrons 그룹 멤버들에게 신뢰 등급 2를 부여했다면, 그들은 제한을 우회할 수 있습니다.

주로 참고용으로, 여기에 사용되는 로직은 다음과 같습니다:

def new_user?
  (created_at >= 24.hours.ago || trust_level == TrustLevel[0]) &&
    trust_level < TrustLevel[2] &&
    !staff?
end