فقط في حال كان أي شخص آخر مهتمًا بفعل هذا، إليك ملخص قصير لما فعلته:
- أولاً، تحتاج إلى تمكين Badge SQL (SQL الشارات) من خلال واجهة سطر الأوامر (CLI) لخادم Discourse الخاص بك:
./launcher enter app
rails c
SiteSetting.enable_badge_sql = true
- بعد ذلك، ابحث عن مُعرّف الموضوع (Topic ID) الذي تريد أن يتفاعل معه الأعضاء للحصول على الشارة. في مثيلي، مُعرّف الموضوع هو 117
- بعد ذلك، ابحث عن مُعرّف الموضوع (Topic ID) الذي تريد أن يتفاعل معه الأعضاء للحصول على الشارة. في مثيلي، مُعرّف الموضوع هو 117
![]()
- أنشئ شارتك المخصصة:
- المسؤول (Admin) > الشارات (Badges) > جديد (New)
- سمِّ الشارة ما تشاء (مثل: قارئ قواعد B/S/T)
- اختر نوع الشارة، وأيقونة، وأعطها وصفًا
- إذا اتبعت الخطوة 1، سترى مربع استعلام (query box) حيث يمكنك كتابة استعلام SQL. الصق هذا الاستعلام (غيّر
p.topic_id = 117إلى مُعرّف الموضوع الخاص بك):-
SELECT DISTINCT ON (pa.user_id) pa.user_id, pa.post_id, pa.created_at granted_at FROM post_actions pa JOIN posts p ON pa.post_id = p.id AND p.post_number = 1 WHERE pa.post_action_type_id = 2 AND p.topic_id = 117 AND (:backfill OR pa.post_id IN (:post_ids))
-
- تأكد من تحديد كل من Run revocation query daily (تشغيل استعلام الإلغاء يوميًا) و Query targets posts (الاستعلام يستهدف المنشورات).
- يجب تعيين المُشغّل (trigger) على When a user acts on post (عندما يتفاعل مستخدم مع منشور)
- الآن نُنشئ الأتمتة (Automation)
- أولاً، أنشئ مجموعة جديدة ليتم إضافة الأعضاء إليها. لقد سميتها فقط
bst_rules_agreed، وهي مُعدّة بحيث يمكن لمالكي المجموعة والمشرفين فقط رؤية العضوية. لا تحتاج إلى أي تأثيرات لمستوى الثقة (Trust Level). - بعد ذلك، انتقل إلى الإضافات (Plugins) > الأتمتة (Automation)
- أضف أتمتة جديدة
- اختر User Group Membership Through Badge (عضوية مجموعة المستخدمين عبر الشارة)
- المُشغّل (Trigger): Recurring (متكرر)
- التكرار (Recurrence): لقد ضبطته على كل ساعة. اختر ما تراه مناسبًا لك.
- اختر تاريخ البدء
- خيارات البرنامج النصي (Script Options):
- الشارة (Badge): اختر الشارة التي أنشأتها أعلاه
- المجموعة (Group): اختر المجموعة التي أنشأتها أعلاه
- أضف أتمتة جديدة
- أولاً، أنشئ مجموعة جديدة ليتم إضافة الأعضاء إليها. لقد سميتها فقط
هذا كل شيء. يجب أن يكون لديك الآن نظام يضمن موافقة الأعضاء على قواعد الفئة قبل أن يتمكنوا من النشر في تلك الفئة.
استكشافي التالي هو معرفة ما إذا كانت هناك طريقة لإخفاء جميع المواضيع باستثناء القواعد عن أي شخص ليس في تلك المجموعة. لكن هذا النظام الأساسي جيد بما فيه الكفاية في الوقت الحالي.