Um membro do nosso fórum Discourse perguntou se o Discourse tem uma forma de mostrar/reconhecer dias consecutivos de visita ou postagem em um fórum Discourse. Não vejo essa informação em nenhum lugar nas informações do usuário do administrador, ela é mantida em algum lugar?
Bem, sim, pois existem selos como Entusiasta, Aficionado e Devoto que são para dias consecutivos visitados. Visitado = curtiu uma postagem/respondeu uma vez, se bem me lembro.
Você provavelmente pode fazer uma consulta no explorador de dados. Aqui está o esquema da tabela user_visits aqui:
Talvez algo como isto?
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
Ou talvez você possa combinar com a tabela user_actions (visitas com curtidas e postagens?), que está aqui: