# كيف تعمل على "تجاهل متبادل"؟

**URL:** <https://meta.discourse.org/t/how-to-do-a-mutual-ignore/148133>\
**Category:** Development\
**Created:** [15 أبريل 2020، 4:32م UTC](https://meta.discourse.org/t/how-to-do-a-mutual-ignore/148133 "2020-04-15T16:32:37Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![pnoeric](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pnoeric/32/177144_2.png) [@pnoeric](https://meta.discourse.org/u/pnoeric)\
**Post date:** [15 أبريل 2020، 4:32م UTC](https://meta.discourse.org/t/how-to-do-a-mutual-ignore/148133/1 "2020-04-15T16:32:37Z")

</div>

# تعديل: ظننتُ أنني ذكي، لكنني لم أكن. راجع الرسالة التالية.

مرحبًا، أردتُ فقط مشاركة شيء اكتشفته… أنا أستخدم Discourse كمنتديات على موقع أعضاء موجود، وعلى موقعي الحالي، يمكن للأعضاء حظر بعضهم البعض. عندما يقوم المستخدم أ بحظر المستخدم ب، لا يستطيع المستخدم أ ولا المستخدم ب رؤية بعضهما البعض، ولا يمكنهما التفاعل، إلخ.

كنت بحاجة إلى نقل نفس الوظيفة إلى Discourse. لقد كنت أحاول جاهداً لأفهم كيفية القيام بذلك، وأعتقد أنني نجحت أخيراً في حل الأمر:

1. قمت بإعداد Webhook في Discourse لاستقبال الأحداث، حتى أتمكن من التقاط حدث `user_logged_in`.

2. عندما يسجل المستخدم دخوله، أراجع قائمة “الحظر” الخاصة به على موقعي.

3. لكل عضو آخر يحاول حظره، أستخدم واجهة برمجة تطبيقات Discourse (لاحظ أن هذا لا علاقة له بـ SSO!) لـ “تجاهل” المستخدم الآخر.

4. وهنا الجزء الذكي: أخبر Discourse أيضًا بأن يقوم المستخدم الآخر بتجاهل المستخدم الرئيسي الذي يسجل دخوله الآن. بعبارة أخرى، كل من المستخدم أ (الذي يسجل دخوله الآن) والمستخدم ب (الذي موجود في قائمة حظر المستخدم أ) “يتجاهلان” بعضهما البعض.

5. لاحظ أنه عند إرسال رسالة “التجاهل”، يجب عليّ في الواقع التحقق من أن مستوى المستخدم هو TL2 على الأقل، لأن ميزة “التجاهل” متاحة فقط لمستوى TL2 — إذا لم يكن كذلك، فيجب عليّ ترقية المستخدم بسرعة إلى TL2 قبل إكمال عملية “التجاهل”. يؤدي ترقية المستخدم إلى TL2 إلى بعض الآثار الجانبية الأخرى (بدء سكريبت discobot المتقدم، ومنح الشارات) التي اضطررتُ للتعامل معها.

أوه، وأخفي قائمة “المُتجاهَلين” في ملف المستخدم على Discourse (باستخدام CSS بسيط فقط)، لأن هناك واجهة على الموقع الرئيسي لإدارة المستخدمين المحظورين. لا أريد أن يرى أعضاء Discourse قائمة التجاهل في Discourse على الإطلاق.

أتمنى أن يساعد هذا الآخرين الذين يحتاجون إلى هذه النوعية من الوظائف…

---

_[View the full topic](https://meta.discourse.org/t/how-to-do-a-mutual-ignore/148133)._
