Discourse가 연속 활동 일수를 추적하나요?

우리 Discourse 포럼의 한 회원이 Discourse에서 특정 포럼에 연속으로 방문하거나 게시물을 작성한 날짜를 표시하거나 인식할 수 있는 방법이 있는지 문의했습니다. 관리자 화면의 사용자 정보 어디에도 해당 정보가 보이지 않는데, 이 정보가 어딘가에 저장되어 있을까요?

참고로, Reddit에는 이 기능이 있습니다.

네, 맞습니다. 열성 사용자(Enthusiast), 애호가(Aficionado), 헌신자(Devotee)와 같은 배지가 연속 방문 일수에 따라 부여되거든요. 기억이 맞다면 '방문’은 게시글에 좋아요를 누르거나 한 번이라도 답글을 남기는 것을 의미합니다.

데이터 탐색기 쿼리를 작성할 수 있을 것 같습니다. 여기 user_visits 테이블의 스키마가 있습니다:

아마 이런 식으로 작성해 볼 수 있을까요? :thinking:

WITH consecutive_visits AS (
    SELECT
        user_id,
        visited_at,
        visited_at - INTERVAL '1 day' * ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY visited_at) AS grp
    FROM
        user_visits
),
visit_streaks AS (
    SELECT
        user_id,
        COUNT(*) AS streak_length
    FROM
        consecutive_visits
    GROUP BY
        user_id, grp
)
SELECT
    user_id,
    MAX(streak_length) AS longest_streak
FROM
    visit_streaks
GROUP BY
    user_id
ORDER BY
    longest_streak DESC
LIMIT 100

아니면, 대신 user_actions 테이블을 결합하여 쿼리를 작성해 볼 수도 있습니다(좋아요와 게시물을 포함한 방문 기록?). 해당 테이블은 여기에 있습니다:

감사합니다. 그 점을 염두에 두겠습니다.