특정 배지에 대한 알림을 음소거할 수 있는 옵션이 있나요?

커뮤니티에서 매우 활발하게 활동하고 있어서 “Nice Reply” 배지를 매우 많이 받습니다. 수천 개나 됩니다.

그래서 매일 로그인할 때마다 배지를 일괄 삭제해야 합니다. 그런데 같은 범주에 있기 때문에, 이렇게 하면 감시 중인 토픽 알림도 함께 삭제되고 말아요.

특정 배지(모든 배지가 아닌)에 대한 알림을 끄는 방법이 있어야 합니다. 또는 감시 중인 토픽 알림을 다른 섹션으로 분리해서 같은 시점에 삭제되지 않도록 할 수는 없을까요?

4개의 좋아요

솔직히 지금은 ‘좋은 답변’ 알림이 너무 많아서 실제로 중요한 알림을 놓치고 있을 정도예요.

이걸 구현할 수 있지 않을까요?

왜 사이트에 ‘좋은 답변’ 배지를 그냥 끄지 않는 거예요?

답변을 그렇게까지 친절하게 쓰지 않는 건 어떨까요? /s

이 방법도 통할 수 있지만, 다른 사용자들이 이 배지를 받을 기회도 박탈하게 됩니다. @Shauny 님의 커뮤니티에서는 이 배지가 얼마나 자주 수여되고 있나요?

아마도 활동량이 많지 않은 사람들이 그걸 받는 걸 좋아하기 때문이에요.

특정 수량에 도달하면 더 이상 지급되지 않도록 해야 한다고 생각합니다.

현재 40,000개입니다.

1개의 좋아요

그들은 배지를 받는 것을 즐기고 있는 걸까요? 그것이 핵심적인 질문입니다.

이것은 문화적 문제라고 생각합니다. 제 환경에서는 배지 시스템이 매우 유치하다고 여겨져서, 멤버들이 그 시스템을 완전히 중단해 달라고 요청했습니다. 반면 다른 곳에서는 배지가 참여의 가장 큰 이유로 꼽힙니다. [1]


  1. 논의 자체는 아닙니다. 이 부분은 저에게 꽤 당혹스럽습니다. ↩︎

오, 네. 우리 사용자들은 배지를 정말 좋아해요. 저희는 그걸 많이 가지고 있어요 (포럼뿐 아니라 관련 웹사이트에도 적용할 수 있도록 통합해 두었거든요).

다만, 수백 개나 되는 배지를 받다 보니 특별히 흥미롭지는 않아요.

그럼 한도를 높여 주실 수 있나요?

이 내장된 배지들은 SQL을 수정할 수 없다고 생각해요?

그리고 설령 수정할 수 있다 해도, 그러면 이미 받은 사람들의 배지가 소급 적용되어 삭제되지 않을까요?

말했듯이 저는 배지를 사용하지 않으니 여기서는 그냥 추측하는 거예요 :man_facepalming: 그리고 당신도 훨씬 더 잘 알고 계실 테니까요. 하지만 실제로 Discourse에서 수정할 수 있는 요소가 정말 많아서, 이 기능이 하드코딩되어 있다면 정말 놀라울 겁니다.

아무튼, 실제로 잘 알고 계시면서 단순히 메타 정보만 남기지 않는 분이 곧 참여해 주실 거예요.

1개의 좋아요

시스템 배지는 실제로 하드코딩되어 있으며 UI에서 수정할 수 없습니다. 대신 기본 Nice Reply(등) 배지를 비활성화한 후, 사용자 ID를 제외하는 추가 조항을 붙여 커스텀 배지로 다시 생성하면 더 이상 배지를 획득하지 못하도록 막을 수 있습니다.

이것은 해당 배지에 대한 알림을 억제해 달라는 기능 요청과는 정확히 동일하지는 않지만, 대안적인 우회책이 될 수 있습니다.

배지는 배지 설정 페이지에서 ‘매일 취소 쿼리 실행’ 옵션이 체크된 경우에만 자동으로 제거됩니다. 이 옵션이 해제되어 있으면 더 이상 자격을 갖추지 못해도 사용자는 배지를 계속 보유하게 됩니다. (시스템 Nice Reply 배지는 이 옵션이 체크되어 있지만, 어쨌든 수정할 수 없으므로 여기서는 참고용입니다 :slight_smile:)

여기서 문제는 제가 이 배지를 삭제하고 다시 생성하면, 기존에 모든 사람에게 부여된 배지가 제거되고, 새 배지에 대해 수천 개의 알림이 대량으로 발송되어 스팸이 된다는 점입니다.

기존 배지의 SQL을 직접 편집할 수 없는 이유가 항상 궁금했습니다. 다른 모든 항목은 수정할 수 있는데, 이 부분만 빠진 건 다소 아쉬운 것 같습니다.

1개의 좋아요

네, 기존 사이트에서 전환하는 경우 몇 가지 잠재적인 단점이 있을 수 있다고 생각합니다. 특히 이러한 유형의 사이트에서 더 그렇죠. :thinking:

기본 설정을 오버라이드하려면 플러그인이 필요할 것 같습니다 [ETA 사실과 다름, 아래 게시글 참조](하지만 알림을 무음 처리하는 경우도 마찬가지라고 생각합니다). 사용자가 잘못 수정했을 때 사이트에 심각한 문제를 일으킬 수 있으므로 UI에서 직접 편집할 수 없도록 되어 있습니다. 추가적인 안전장치로 커스텀 배지 SQL은 숨겨진 사이트 설정 뒤에 배치되어 있습니다.

비슷한 기능 요청이 이전에 제기된 적도 있어, 이를 통해 중요성을 더할 수 있습니다:

(다른 것도 있을 수 있습니다)

‘좋아요 알림’과 유사한 사용자 설정에 ‘배지 획득 시 알림’이라는 항목을 추가하면 간단하게 해결할 수 있을 것입니다. 예: ‘배지 획득 시 알림’ - 절대 안 함 | 배지 최초 획득 시 | 항상

그 말을 쓰고 나서, 레일스 콘솔을 사용해 데이터베이스에서 배지의 ‘system’ 플래그를 수정할 수 있다는 흐릿한 기억이 떠올랐습니다. 제 기억이 맞는지 확인해 보겠습니다. :slight_smile:


네, 제 기억이 맞았습니다. 레일스 명령어로 배지의 ‘system’ 필드를 true에서 false로 변경하면 UI에서 기본 배지를 편집할 수 있습니다. [(물론 자기 책임 하에 :slight_smile:)]

추가 정보

다음과 같이 사용했습니다:

Badge.where(id:6).update(system:false)

다만 레일스 콘솔에서 작업을 수행할 때는 실수가 발생할 수 있으므로 주의하세요. :warning:

4개의 좋아요

오 제이미 - 정말 훌륭해요! 내장된 배지 중 몇 개는 몇 년 동안 나를 짜증나게 했거든요. 드디어 그걸 바꿀 수 있는 권한을 갖게 되다니!!!

다만, 레일즈 콘솔이라는 어두운 세계에 발을 담그고 있다는 사실에 좀 놀랐어요…

2개의 좋아요

Rails 콘솔에서 일부 기능을 우회할 경우, 나중에 어떤 위험(상어)이 기다리고 있는지 알기 어려울 수 있으므로, 보통 "자기 책임 하에 진행하세요 :double_exclamation_mark:"라는 경고 문구를 훨씬 더 많이 달아두는 편입니다. 너무 들뜨기 전에 먼저 충분히 테스트해 보시기 바랍니다. :slight_smile:

SQL이 표시되지 않는 시스템 배지가 몇 가지 있습니다(예: 이달의 신규 사용자, 첫 번째 Onebox). 따라서 이러한 배지는 변경할 수 없을 것 같습니다.

수정: 제가 너무 서두른 것 같습니다. 재빌드 시 원래 배지가 리셋되는 것으로 보입니다. 따라서 처음 생각했던 것보다 적용 범위가 더 제한적일 수 있습니다.


기능 요청이 구현될 수 있다면, 그 쪽이 훨씬 훨씬 더 나은 옵션이라고 생각합니다 :crossed_fingers:

1개의 좋아요

도와주셔서 감사합니다. 하지만 호스팅 설정에 깊이 파고드는 것은 꺼려집니다(호스팅은 다른 사람이 대신 해주고 있거든요).

커뮤니티와 상의한 결과, 현재 Nice Reply 배지를 제거하고, 첫 번째 달성 시에만 지급되는 자체 배지를 만들기로 했습니다. 추가로 많이 모았을 때 받을 수 있는 배지도 몇 개 더 만들 계획입니다.

여러 번 지급되는 배지보다는 한 번만 지급되는 배지를 훨씬 선호합니다.

3개의 좋아요

참고로, 저는 그 선택이 현명하다고 생각합니다. hopefully 이 솔루션이 당신과 당신의 커뮤니티 전체에게 더 나은 해결책이 되길 바랍니다. :slight_smile:

(그리고 제 임시 대안은 결국 좀 엉망이 됐습니다 :slight_smile:)

1개의 좋아요