일일 개인 메시지 수 제한을 1로 설정하세요. (기본값은 20입니다. 이 설정에서 0이 무엇을 의미하는지 확실하지 않아, 다음으로 좋은 값인 1을 사용하고 있습니다.)
일반(비스태프) 사용자로 변주(Impersonate)하세요. (관리자로는 문제가 보이지 않았습니다. 스태프는 이 속도 제한(rate limit)의 적용 대상이 아니기 때문일 것으로 추측하지만, 코드를 확인해 보지 않아 확신은 없습니다.)
변주 중인 계정으로 다른 사용자에게 테스트용 개인 메시지를 보내세요. (저는 제 자신의 계정으로 보냈습니다.)
임의의 게시글을 “기타(Something Else)” 사유로 플래그를 걸세요. (제 판단으로는, 다른 플래그 사유에서는 이 문제가 나타나지 않는 것 같습니다.)
다음과 같은 팝업이 표시되어야 합니다:
오류가 발생했습니다: 하루에 허용되는 최대 메시지 수에 도달했습니다. 23시간 후에 새로운 메시지를 추가로 작성할 수 있습니다.
왜 중요한가
여러 관련 설정이 있습니다:
일일 PM 스레드 수. (기본값 20)
일일 플래그 수. (기본값 20)
신뢰 수준에 따른 일일 플래그 수 배율. (TL2 => 1.5, TL3 => 2, TL4 => 3)
그 결과, 신뢰 수준 3(TL3) 사용자는 24시간 롤링 기간 동안 최대 20개의 PM 스레드를 시작하고 최대 40개의 게시글에 플래그를 걸 수 있습니다. 그러나, “기타(Something Else)” 사유를 사용한 플래그는 PM 스레드 제한 그리고 플래그 제한 양쪽에 모두 계산됩니다. PM 제한에는 신뢰 수준 배율이 적용되지 않으므로, 신뢰할 수 있는 사용자에게만 속도 제한을 높이는 것은 불가능합니다.
아마도 더 중요한 것은, 이 메시지가 사용자가 수행한 동작과 관련이 없어 보인다는 점입니다. 특정 플래그 사유가 PM 스레드를 시작한다는 것은 직관적으로 알기 어렵습니다. 이러한 혼란을 실제 사례로 확인하려면 다음 스레드를 참고하세요:
오늘 조사한 결과, 하루 PM 스레드 한도에 도달했다면 “기타(Something Else)” 사유를 사용하지 않는 것이 좋다고 제안할 수 있습니다. 하지만 이는 플래그에 필요한 맥락을 추가하는 것을 일부 사용자들이 꺼리게 만들 수 있으므로 이상적인 해결책은 아닙니다. 아마도 PM 스레드 속도 제한을 높이고, 다른 사용자에게 스팸을 시작할 수 있다는 사실을 아무도 알아채지 않기를 바랄 것입니다.
가능한 해결책
시스템이 생성한 PM 스레드는 사용자 한도에 포함하지 않기. 즉, 게시글에 플래그를 걸면 시스템이 유용하게 이를 모더레이터와의 PM 스레드로 변환해 주더라도, 그것이 제 한도에 포함되지 않아야 합니다. 플래그의 경우, 플래그 속도 제한만 적용되어야 합니다.
사용자가 문제를 스스로 진단할 수 있도록 메시지 수정. 제안할 간결한 문구(coppy)는 없지만, 문제가 다른 유형의 플래그가 아니라 “기타(Something Else)” 플래그 때문임을 명확히 해야 합니다. 이것이 PM 스레드와 관련 있다는 언급은 주의 깊게 설명하지 않는 한 생략하는 것이 좋습니다. 일반 사용자에게는 시스템 내부 구조에 너무 깊이 들어가는 내용이기 때문입니다.
PM 스레드 속도 제한에 신뢰 수준(TL) 기반 배율 추가. 솔직히 말하면, 가장 극단적인 상황을 제외하고는 20이면 충분하다고 생각합니다. 하지만 플래그가 한도에 포함된다면, 신뢰할 수 있는 사용자에게 일반 사용자와 최소한 같은 수의 PM 스레드 시작 권한은 주고 싶습니다.
Hey @sam, 이 이슈에 좋아요를 누르셨는데 한 달이 지났네요 (드디어 사이트를 3.1.0.beta3로 업그레이드했습니다). 이렇게 연락드린 건, 기대했던 이번 업그레이드에 이 문제가 수정될 예정인지 확인하려고 해서예요. 관련 커밋을 본 것 같은 기억이 나는데, 여기에는 아무것도 보이지 않네요.
이것은 Discourse 전반에 걸쳐 훌륭한 개선이 될 것입니다. 기본 설정에서 TL0이 PM을 보낼 수 없도록 되어 있지만, 갑자기 TL1이 여러 개의 새로운 PM 스레드를 보낼 수 있게 되면, 이는 곧 발생할 PM 스팸 공격과 같습니다. 또는 PM 제한 횟수를 매우 낮게 설정할 수 있지만, 그렇게 한다면 TL2 이상의 신뢰할 수 있는 사용자에게 동일한 제한을 적용하는 것은 현실적으로 불가능합니다.