Badge pour sujet populaire

Existe-t-il un moyen d’attribuer un badge à quelqu’un qui a créé un sujet qui a ensuite reçu de nombreuses réponses ? Disons, 100 réponses ?

Je l’appellerais « Sujet populaire » et cela encouragerait les gens à réfléchir à de nouvelles idées de sujets qui généreront beaucoup de discussions.

3 « J'aime »

Je pense qu’une version simple serait quelque chose comme ceci :

SELECT 
    t.user_id,
    CURRENT_TIMESTAMP AS granted_at,
    p.id AS post_id
FROM topics t
  JOIN posts p ON p.topic_id = t.id AND p.post_number = 1
WHERE t.posts_count >= 100
  AND t.archetype = 'regular'
  AND t.deleted_at ISNULL
  AND t.user_id > 0

L’utilisation de t.post_counts inclurait actuellement également les petits messages d’action (fermés, non répertoriés, etc.), donc cela dépend de la précision que vous souhaitez réellement.

Vous pourriez le rendre plus spécifique en comptant les messages « éligibles » dans la requête. Quelque chose comme :

SELECT 
    t.user_id,
    CURRENT_TIMESTAMP AS granted_at,
    p.id AS post_id
FROM topics t
  JOIN posts p ON p.topic_id = t.id AND p.post_number = 1
WHERE t.id IN ( 
    SELECT 
        p.topic_id
    FROM posts p
      JOIN topics t ON t.id = p.topic_id
    WHERE t.archetype = 'regular'
      AND t.deleted_at IS NULL
      AND p.deleted_at IS NULL
      AND p.post_number <> 1
      AND p.post_type = 1
      AND p.hidden IS FALSE
     GROUP BY 1
     HAVING COUNT(*) >= 100
     )
5 « J'aime »

C’est génial Jam !

Op pourrait aussi changer les nombres de messages pour avoir 3 niveaux : bronze (50), argent (100), or (200).

Merci pour le tutoriel et merci @Shauny pour l’idée.

3 « J'aime »

Merci, je vais essayer et je vous tiens au courant !

3 « J'aime »

Je l’ai configuré maintenant, mais je suppose qu’il devrait être réglé pour se mettre à jour quotidiennement ? Je verrai demain si cela a fonctionné. Faut-il cocher « cibler les publications » ?

1 « J'aime »

Ça a très bien fonctionné, merci !!

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.