Fomentar la opción 'Notify Users' en los MP

Queremos animar a los usuarios a enviar más mensajes privados sobre comentarios controvertidos o personales sobre publicaciones (y hacerlo de manera civil y amable…), en lugar de publicarlos públicamente y desviar posiblemente la conversación del tema. Aquí está el distintivo:

La consulta:

SELECT p.user_id, current_timestamp AS granted_at
FROM posts AS p
JOIN topics t on t.id = p.topic_id
WHERE t.archetype = 'private_message'
AND t.title LIKE 'Tu publicación en "%"'
AND p.post_number = 1
AND p.like_count >= 1
AND (:backfill OR p.user_id IN (:user_ids))
GROUP BY p.user_id
HAVING count(*) >= 1

No encontré un disparador específico para mensajes de reporte, por lo que la consulta utiliza el título predeterminado “Tu publicación en …”. Diría que el distintivo es fácil de manipular o hacer trampa de varias maneras, pero aún así lograría su objetivo simplemente dando más visibilidad a esta función y comunicando que esto se considera una acción positiva para la comunidad.

¿Podría basarse este en la post_action para ‘Notificar al usuario’?

Algo como:

SELECT pa.user_id, current_timestamp AS granted_at
FROM post_actions pa
  JOIN posts p ON p.id = pa.related_post_id
WHERE pa.post_action_type_id = 6
  AND p.like_count >= 1
  AND (:backfill OR p.user_id IN (:user_ids))
GROUP BY pa.user_id
HAVING COUNT(*) >= 1

En realidad, creo que los enlaces en la publicación en la que se basó la bandera, no el PM. Puede que necesite un pequeño ajuste.

Un cambio rápido en la unión para hacer p.id = pa.related_post_id hace el trabajo, creo. :+1:

Creo que el ‘HAVING’ solo es necesario si quieres otorgar una versión de Plata y Oro de más de una.