تكامل Discourse مع Ko-fi

:information_source: الملخص دمج نظام التبرعات/الإكراميات الخاص بـ Ko-fi مع Discourse. مكافأة المتبرعين بشارات أو عضوية مجموعات.
:hammer_and_wrench: رابط المستودع https://github.com/magicball-network/discourse-kofi.git
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse

الميزات

تتيح لك هذه الإضافة ربط حسابك في Ko-fi بمجتمعك في Discourse. يمكن للأشخاص التبرع بالمال عبر Ko-fi، مما يمكن أن يمنحهم مكافآت مثل الشارات أو عضوية المجموعات. كما تتيح لك ربط مستويات اشتراك Ko-fi بعضوية المجموعات.

تعتمد هذه الإضافة على خطاف الويب (Webhook) الخاص بـ Ko-fi، الذي سيرسل إشعارًا إلى Discourse عند استلام دفعة.

يمكنك تكوين نوعين من المكافآت:

  1. مكافآت لمرة واحدة مثل الشارات وعضوية المجموعات. تعتمد هذه المكافآت على المبلغ الإجمالي الذي دفعه الأشخاص.
  2. عضويات مجموعات شهرية بناءً على مستويات الاشتراك. يظل الأشخاص أعضاء في المجموعة طالما يستمرون في دفع اشتراك ذلك المستوى. يتم إعادة تقييم عضوية المجموعة بعد شهر.

إلى جانب هذه المكافآت، يمكنك أيضًا عرض لوحة معلومات تعتمد على المدفوعات المستلمة مؤخرًا.


يمكن تمكين أقسام لوحة المعلومات المختلفة وتكوينها حسب رغبتك.

يمكنك استيراد ملف CSV الصادر من Ko-fi لتسجيل المدفوعات التي تم إجراؤها قبل تثبيت هذه الإضافة.

عند استلام المدفوعات، ستقوم الإضافة بمطابقتها مع المستخدمين بناءً على عنوان البريد الإلكتروني الذي استخدموه في دفعة Ko-fi، وعنوان بريدهم الإلكتروني في Discourse. إذا لم تكن هذه العناوين متطابقة، يمكن للمستخدم المطالبة بالمدفوعات التي قام بها عبر صفحة Ko-fi الخاصة في تفضيلات المستخدم. كما تسمح للمستخدم بإخفاء معاملته عن العرض العام.

التكوين

يجب أن يكون لديك حساب Ko-fi يعمل. بعد تثبيت الإضافة بالطريقة المعتادة، تحتاج إلى تكوين رمز خطاف الويب (Webhook token) الخاص بـ Ko-fi في إعدادات الإضافة وتكوين عنوان URL لخطاف الويب لتثبيت Discourse الخاص بك: https://example.org/ko-fi/webhook

إذا قمت بذلك، يمكنك إرسال رسالة اختبار من Ko-fi والتحقق من صفحة حالة الإضافة لمعرفة ما إذا كان كل شيء على ما يرام.

قد ترغب في تكوين المكافآت قبل تمكين خطاف الويب أو استيراد ملف CSV. وإلا ستحتاج إلى إعادة معالجة المكافآت بحيث يتم تطبيقها على المدفوعات الحالية.

الإعدادات

جدول الإعدادات ووصف كل إعداد:

الاسم الوصف
kofi_webhook_token رمز التحقق الخاص بخطاف الويب. يمكنك العثور عليه في حسابك في Ko-fi.
kofi_account اسم حساب Ko-fi الخاص بك. سيُستخدم في وصف لوحة المعلومات وفي عنصر واجهة Ko-fi. إذا قمت بتمكينها.
kofi_dashboard_enabled تمكين لوحة معلومات التبرعات في Discourse على https://example.org/ko-fi
kofi_dashboard_in_menu يحدد ما إذا كان يجب إضافة عنصر قائمة “التبرعات” إلى القائمة. إذا كنت ترغب في تخصيص عنصر القائمة هذا، فعليك تعطيل هذا الخيار.
kofi_dashboard_topic_id معرف الموضوع الذي يحتوي على الوصف في لوحة المعلومات. يتم إنشاء موضوع برسالة افتراضية في فئة “طاقم العمل” عند تمكين الإضافة.
kofi_dashboard_widget_enabled تمكين عنصر واجهة تبرعات Ko-fi في لوحة المعلومات. يتطلب ذلك تكوين kofi_account.
kofi_dashboard_count إذا كان أكبر من 0، يجب أن يكون هذا العدد من المدفوعات الأخيرة.
kofi_dashboard_types أنواع مدفوعات Ko-fi المراد تضمينها في المدفوعات الأخيرة.
kofi_dashboard_anonymous_view تفاصيل الدفع التي سيتم عرضها على لوحة المعلومات للزوار غير الموثقين.
kofi_dashboard_authenticated_view التفاصيل التي سيتم عرضها عندما يذهب الأعضاء الموثقون إلى لوحة المعلومات.
kofi_goal_amount إذا كان أكبر من 0، تمكين عنصر واجهة “الهدف” في لوحة المعلومات. يمكن استخدامه لعرض التقدم نحو مبلغ مستهدف معين.
kofi_goal_period الفترة التي يتم خلالها حساب الهدف.
kofi_goal_since إذا قمت باختيار فترة “منذ”، فسيكون هذا هو الطابع الزمني لحساب تقدم الهدف من خلاله.
kofi_goal_show_amount إذا تم تمكينه، فسيظهر أيضًا المبلغ المستهدف في عنصر واجهة الهدف. وإلا فستحصل فقط على النسبة المئوية.
kofi_goal_types أنواع مدفوعات Discourse التي تُحسب نحو الهدف.
kofi_goal_progress_bar_integration يُمكّن التكامل مع مكون سمة شريط التقدم. عند حساب تقدم الهدف، سيتم تحديث إعدادات القيمة الحالية والقيمة القصوى لهذا المكون.
kofi_leaderboard_count إذا كان أكبر من 0، فاعرض عنصر واجهة لوحة المتصدرين في لوحة المعلومات.
kofi_leaderboard_days احسب لوحة المتصدرين بناءً على المدفوعات من الأيام الماضية.
kofi_leaderboard_types أنواع مدفوعات Ko-fi المستخدمة لحساب لوحة المتصدرين.

تكوين المكافآت

إلى جانب هذه الإعدادات، يوجد تبويب المكافآت في إعدادات إضافة Ko-fi حيث يمكنك تكوين مكافآت لمرة واحدة ومكافآت الاشتراك.

لمكافآت الاشتراك، يجب عليك إدخال اسم المستوى الذي قمت بتكوينه على Ko-fi. إذا قمت بتغيير أسماء المستويات على Ko-fi في أي وقت، فيجب عليك تحديثها هناك أيضًا لأن Ko-fi سترسل فقط اسم العرض، وليس نوعًا من المعرف الفريد.

عند إنشاء أو تغيير المكافآت، يمكنك طلب إعادة معالجة المدفوعات بحيث تُمنح هذه المكافآت للمدفوعات الحالية.

الإدارة

إلى جانب تبويبات الإعدادات والحالة والمكافآت، توجد أيضًا التبويبات التالية في صفحة إدارة إضافة Ko-fi:

  • المدفوعات – قائمة بمدفوعات Ko-fi المستلمة.
  • الحسابات – الرابط بين مدفوعات Ko-fi والمستخدمين.
  • الاستيراد – استيراد تصدير CSV لمدفوعات Ko-fi. استخدم هذا لاستيراد المدفوعات المستلمة بالفعل.
  • إخفاء الهوية – يسمح لك بإخفاء هوية المدفوعات التي أجراها عنوان بريد إلكتروني معين تمامًا.
إعجابَين (2)

ملاحظة: يدعم Ko-fi فقط استلام المدفوعات بعملة واحدة. بالنسبة للحسابات، يأخذ هذا الإضافة في الاعتبار فقط المبلغ المذكور في معلومات الدفع المستلمة، وليس العملة. تغيير العملة في المستقبل سيؤدي إلى اختلال في الحسابات المختلفة. لا يوجد تحويل للعملة.

أعتمد حاليًا على سكريبت PHP مستضاف ذاتيًا للتعامل مع هذا الأمر في موقعي.

باستخدام إضافةك، لن أحتاج إلى ذلك بعد الآن. آمل ألا يكون سؤالي غير مرحب به، لكن أعتقد أنه من العادل السؤال بشأن الإضافات غير الرسمية: هل من المرجح أن تحافظوا على هذه الإضافة على المدى الطويل؟ هل تستخدمونها بأنفسكم؟

نظريًا، هل تعترضون على طلب دمج (PR) لإدراج شريط تقدم عام (مشابه لمكون السمة الخاص بي)؟

من فهمي، يمكن الوصول إلى لوحة التحكم من قبل الأعضاء المسجلين، لكن لا توجد أداة (widget) لإضافتها في مكان آخر؟

إعجاب واحد (1)

أنا أستخدم هذه الإضافة على موقعي الخاص في Discourse (ولكن ليس جميع ميزاتها). سأقوم بدعم الإضافة لكل من إصدار ESR (الذي أديره) وأحدث إصدار من Discourse. كلا الإصدارين يخضعان للاختبار في إعدادات المشروع. يتم تشغيل هذه الاختبارات مرة واحدة على الأقل أسبوعيًا إذا تغيرت هذه الإصدارات.

حاليًا، يتم اختبار جانب Ruby من الإضافة تلقائيًا (تقريبًا كل جزء صغير منه). لا يزال عليّ العمل على كتابة مجموعات للاختبار لجانب JavaScript، وهو ما أخطط للقيام به في النهاية.

image

لا توجد مشاكل في ذلك. سأرحب أيضًا بأي اقتراحات لإضافة نقاط تمديد (مثل منافذ الإضافة لمكونات القالب، أو الأحداث للإضافات).

لوحة التحكم متاحة لجميع الزوار.

لم أقوم عمدًا بإنشاء شيء لإضافة أداة Ko-fi إلى مواقع عشوائية. أعتقد أنه يمكن القيام بذلك عبر مكونات القالب، تمامًا مثل مكون شريط التقدم الخاص بك. إعداد الحساب kofi_account متاح للعميل، وهو ما يجب أن يكون كافيًا لأي نوع من الأدوات.

إعجاب واحد (1)