يشرح هذا الدليل كيفية إزالة تحذير رسمي في Discourse عبر وحدة التحكم (console)، وهو موجه بشكل خاص للمستخدمين الذين يستضيفون الخدمة ذاتيًا.
مستوى المستخدم المطلوب: مسؤول النظام
يتطلب الوصول إلى وحدة التحكم
في بعض الحالات، قد تحتاج إلى سحب تحذير تم إصداره لمستخدم. يتضمن هذا الإجراء إزالة التحذير عبر وحدة التحكم، وهي متاحة لمن لديهم وصول إلى الخادم. إذا كنت عميلاً مستضافًا، يرجى الاتصال بفريق Discourse (team@discourse.org) للحصول على المساعدة في هذه العملية.
فهم تحذيرات المستخدمين
تتضمن التحذيرات الرسمية جزأين من البيانات في قاعدة بيانات Discourse:
- سجل في جدول
user_warningsيربط التحذير بمستخدم وموضوع.- يتم تعيين
subtypeالخاص بموضوع الرسالة الخاصة المرتبط إلى"moderator_warning".للتراجع عن تحذير بالكامل، يجب معالجة كلا الجزأين: يجب حذف سجل
user_warnings، ويجب إعادة تعيين النوع الفرعي (subtype) للموضوع.إزالة تحذير رسمي
لإزالة تحذير، اتبع الخطوات التالية:
الوصول إلى وحدة تحكم الخادم (Server Console):
- استخدم SSH للاتصال بخادم Discourse الخاص بك.
- ادخل إلى وحدة التحكم باستخدام الأوامر التالية:
cd /var/discourse/ ./launcher enter app rails consoleإزالة أحدث تحذير:
إذا كان التحذير الذي تريد حذفه هو الأحدث، قم بتنفيذ ما يلي:warning = UserWarning.last warning.topic.update(subtype: TopicSubtype.user_to_user) warning.destroyالبحث عن تحذير محدد وإزالته:
إذا لم يكن التحذير هو الأخير، فابحث عن التحذير المحدد باستخدامuser_id:UserWarning.where(user_id: the_user_id)سيؤدي هذا إلى إرجاع مصفوفة من التحذيرات المتعلقة بالمستخدم. بمجرد العثور على
idالصحيح، قم بإزالته باستخدام:warning = UserWarning.find(3) warning.topic.update(subtype: TopicSubtype.user_to_user) warning.destroyسيؤدي حذف سجل التحذير وإعادة تعيين النوع الفرعي للموضوع إلى إزالة التحذير من عدد تحذيرات المستخدم وإلغاء وسم الرسالة الخاصة كتحذير رسمي. لن يتم حذف الرسالة الخاصة نفسها.
Is there any chance you could share the steps that I’d need to take to log in to the Console? I’ve tried Googling this but every guide seems to assume that the user will know how to do that.
Assuming you followed the standard installation guide, you would SSH into the server and run:
cd /var/discourse/
./launcher enter app
rails console
مرحباً @JammyDodger. ربما هناك حاجة إلى رابط سحري يربط “وحدة التحكم” و/أو “rails” (أو ربما “rails console”) بـ
هممم. هذه فكرة.
لقد تعرضت للحرق من قبل مع هذه. ![]()
سأبقي عيني مفتوحة الآن بعد أن ذكرتها وأرى كم مرة تظهر. ![]()
نحن نمر عبر المستندات في الوقت الحالي، لذلك ربما في هذه الحالة سيكون من الجيد إضافة التعليمات الكاملة في الدليل.
أو ربما سيكون القسم “أشياء يمكنك القيام بها في ريلز” وسيكون “حول” أو أي شيء آخر كافياً.
ألن يكون من الأسهل بكثير التعامل مع هذه كعقوبات ووجود سجل بجميع التحذيرات الرسمية المرسلة للمسؤولين والمشرفين لإدارتها في أي وقت؟ يصبح الأمر صعبًا للغاية عندما يقوم مشرف عن طريق الخطأ بتحذير مستخدم باسم مشابه ثم يتعين عليه التواصل مع مسؤول الموقع لحل المشكلة.
أعتقد أن هناك طلب #ميزة له هنا:
هل هناك أي طريقة للقيام بذلك أيضًا عبر واجهة برمجة التطبيقات (API) وليس فقط عبر وحدة تحكم Rails؟