鼓励使用 'Notify Users' 发送私信

我们鼓励用户就帖子中有争议或个人的反馈撰写更多私信(并以文明友好的方式进行),而不是公开发布,以免将对话带离主题。以下是该徽章:

查询语句:

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 'Your post in "%"'
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

我没有找到专门用于标记私信的触发器,因此查询使用了默认标题“Your post in …”。我认为该徽章很容易通过多种方式被滥用或作弊,但它仍然能够实现其目标,即通过提高该功能的可见性,并向社区传达这是一种积极行为。

这是否可以基于“通知用户”的 post_action

类似这样:

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

实际上,我认为这指的是标记消息所依据的帖子的链接,而不是 PM。可能需要稍作调整。

将连接稍作更改,使 p.id = pa.related_post_id 即可,我认为。:+1:

我认为只有当您想授予多个(而不仅仅是一个)的银牌和金牌版本时,才需要 HAVING