إضافة ImgLink لـ Discourse (سير عمل الصور المستضافة وتشخيصات المشرف)

ملخص

تكامل تحميل الوسائط ImgLink لـ Discourse مع مفاتيح واجهة برمجة التطبيقات (API) المحددة النطاق، والتعامل مع إعادة المحاولة، وأدوات تشخيص المسؤول.


رابط المستودع

https://github.com/imglink12x/discourse-plugin


دليل التثبيت

  1. تسجيل الدخول عبر SSH إلى حاوية Discourse الخاصة بك:

  2. أضف المكون الإضافي إلى ملف app.yml الخاص بك:

  3. أعد بناء الحاوية:

  4. قم بتهيئة مفتاح API الخاص بك لـ ImgLink في إعدادات المسؤول (انظر التكوين أدناه)

للحصول على إعداد مفصل: https://imglink.cc/tools/forum-plugins


الميزات

  • التحميل المباشر من الملحن (Composer) — تحميل الصور مباشرة من محرر مشاركات Discourse

  • مفاتيح API ذات النطاق المحدود — تستخدم بيانات اعتماد ذات نطاق محدود؛ لا يوجد وصول كامل إلى الحساب

  • روابط مباشرة وعارض — إرجاع كل من روابط شبكة توصيل المحتوى (CDN) المباشرة وعناوين URL الخاصة بعارض الصور

  • إعادة المحاولة + الحتمية (Idempotency) — منطق إعادة المحاولة التلقائي للاتصالات غير المستقرة؛ يمنع التحميلات المكررة

  • تشخيص المسؤول — فحوصات صحية مدمجة للتحقق من مصادقة API والاتصال وأذونات التحميل

  • إخراج BBCode — تنسيق BBCode تلقائي للنشر المضمن

  • تسجيل الأخطاء — سجلات مفصلة لاستكشاف أخطاء التحميل الفاشلة وإصلاحها


التكوين

الخطوة 1: إنشاء مفتاح API لـ ImgLink

  1. سجّل الدخول إلى ImgLink (https://imglink.cc)

  2. انتقل إلى الإعدادات ← مفاتيح API

  3. أنشئ مفتاحًا جديدًا بالنطاقات التالية:

    • upload:create

    • image:delete (اختياري، لمهام سير عمل التنظيف)

  4. انسخ مفتاح API

الخطوة 2: الإضافة إلى إعدادات مسؤول Discourse

  1. انتقل إلى مسؤول ← الإعدادات ← المكونات الإضافية

  2. قم بالتمرير إلى إعدادات ImgLink

  3. الصق مفتاح API الخاص بك في حقل imglink_api_key

  4. (اختياري) قم بتعيين imglink_api_endpoint إذا كنت تستخدم مثيلاً مخصصًا لـ ImgLink

  5. حفظ

الخطوة 3: تشغيل التشخيصات

  1. انتقل إلى مسؤول ← المكونات الإضافية ← إعدادات ImgLink

  2. انقر على “اختبار الاتصال” للتحقق من صحة التكوين الخاص بك

  3. يجب أن ترى “✓ نجاح الاتصال”


الإعدادات

اسم الإعداد النوع الافتراضي الوصف
imglink_api_key سلسلة نصية (String) (فارغ) مفتاح API الخاص بك لـ ImgLink مع نطاق upload:create
imglink_api_endpoint سلسلة نصية (String) https://imglink.cc/api/v1 عنوان URL الأساسي لواجهة API لـ ImgLink (اتركه افتراضيًا ما لم يكن مستضافًا ذاتيًا)
imglink_max_retries عدد صحيح (Integer) 3 عدد محاولات إعادة المحاولة للتحميلات الفاشلة
imglink_retry_delay عدد صحيح (Integer) 1000 الميلي ثانية للانتظار بين محاولات إعادة المحاولة
imglink_timeout_ms عدد صحيح (Integer) 30000 مهلة طلب التحميل (30 ثانية)
imglink_enable_diagnostics منطقي (Boolean) true تمكين أدوات تشخيص المسؤول والسجلات
imglink_enable_direct_links منطقي (Boolean) true إرجاع روابط CDN المباشرة بدلاً من الروابط الملتفة في العارض

توافق الإصدار: Discourse 2.8+ | آخر تحديث: مارس 2026 | الدعم: https://imglink.cc/tools/forum-plugins

لماذا اخترت هذه العلامات لهذا الموضوع؟ إن اختيار علامات عشوائية لا يساعد على أن تبدو الإضافة الخاصة بك موثوقة بشكل خاص.

أيضًا، معظم الروابط لا تعمل:


أين الإعدادات؟ عادةً، يمكنني رؤيتها في ملف إعدادات في مجلد التكوين، مثل على سبيل المثال:

إعجابَين (2)

مرحباً @A_Richards، لقد أزلت العلامات من منشورك لأنها كانت بريداً عشوائياً وغير ذات صلة. ألقيت نظرة أيضاً على الكود، والمكون الإضافي (plugin) غير مُعد بشكل صحيح ليكون له إعدادات قابلة للتكوين كما ذُكر أعلاه.

أوصي بالبدء من هنا لتعديل المكون الإضافي الخاص بك ليصبح أفضل:

إعجابَين (2)