Utiliser les réactions pour attribuer des badges

Merci, cela a aidé ! Il faudrait probablement déplacer cela dans un nouveau sujet puisque nous déraillons. Mais voici la requête que j’ai élaborée (avec l’aide de ChatGPT) qui renvoie simplement les utilisateurs qui ont donné/reçu la réaction, le nombre de réactions, la date de la réaction et l’URL du message spécifique. La seule chose que je n’ai pas pu faire, c’est rendre l’URL du message cliquable, il semble que ce soit limité aux URL de sujets.

WITH reaction_pairs AS (
    SELECT
      p.user_id AS received_reaction_user_id,
      dru.user_id AS gave_reaction_user_id,
      dr.post_id,
      t.id AS topic_id,
      t.slug AS topic_slug,
      p.post_number,
      dru.created_at AS reaction_date
    FROM
      discourse_reactions_reactions dr
      JOIN discourse_reactions_reaction_users dru ON dr.id = dru.reaction_id
      JOIN posts p ON dr.post_id = p.id
      JOIN topics t ON p.topic_id = t.id
    WHERE
      dr.reaction_value = 'Your_Specific_Reaction_Here'
)
SELECT
  ur1.id AS user_id,
  ur2.username AS "Utilisateur ayant donné la réaction",
  'Your_Community_URL' || 't/' || rp.topic_slug || '/' || rp.topic_id || '/' || rp.post_number AS "URL du message",
  rp.reaction_date AS "Date de la réaction",
  COUNT(*) AS "Nombre de réactions"
FROM
  reaction_pairs rp
  JOIN users ur1 ON rp.received_reaction_user_id = ur1.id
  JOIN users ur2 ON rp.gave_reaction_user_id = ur2.id
GROUP BY
  ur1.id,
  ur2.username,
  rp.topic_slug,
  rp.topic_id,
  rp.post_number,
  rp.reaction_date
ORDER BY
  "Nombre de réactions" DESC, "Date de la réaction" DESC