تشجيع خيار "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

لم أجد محفزًا محددًا لرسائل الإشارة، لذا يستخدم الاستعلام العنوان الافتراضي “منشورك في …”. وأعتقد أنه يمكن التلاعب بالشارة أو الغش فيها بعدة طرق، لكنها ستحقق هدفها من خلال زيادة ظهور هذه الميزة وإيصال رسالة مفادها أن هذا الإجراء يُعتبر إيجابيًا للمجتمع.

هل يمكن أن يعتمد هذا على 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

في الواقع، أعتقد أن الروابط في المنشور الذي استند إليه العلم، وليس الرسالة الخاصة. قد تحتاج إلى تعديل طفيف.

تغيير سريع في الربط لجعله p.id = pa.related_post_id يقوم بالمهمة، أعتقد. :+1:

أعتقد أن HAVING مطلوب فقط إذا كنت تريد منح إصدار فضي وذهبي لأكثر من واحد.