إنشاء أتمتة مخصصة

تحتاج إلى تثبيته مثل أي مكون إضافي آخر لـ Discourse: تثبيت المكونات الإضافية في Discourse. لذا ستقوم بتثبيت مكون الأتمتة الإضافي وتثبيت المكون الإضافي الخاص بك الذي يضيف البرامج النصية المخصصة. السبب في أنه يعمل هو بسبب الطرق المحددة هنا: https://github.com/discourse/discourse-automation/blob/main/lib/plugin/instance.rb. في الكود المثال الذي نشرته أعلاه، سترى أنه تتم إضافة البرنامج النصي المخصص باستدعاء لـ add_automation_scriptable.

ملاحظة: لا تقم بتثبيت الأتمتة المثال من مستودع github الخاص بي، بل خذه كمثال لكيفية توسيع مكون الأتمتة الإضافي. (لقد نسيت أنني قمت بالربط به هنا وقمت بتحديثه بحيث يعمل فقط مع النسخة المعدلة من مكون الأتمتة الإضافي لـ Discourse. الكود الذي ربطته هنا لا يزال صالحًا: Create custom Automations - #6 by simon. سأقوم بتحديث المكون الإضافي automation-script-example في أقرب وقت ممكن حتى يعمل بدون التغييرات التي أجريتها على نسختي المعدلة من مكون الأتمتة الإضافي.)

لقد كان قلقي لا أساس له. هذا الشرط ليس ضروريًا:

if automation.script == "user_update_summary_email_options" && (context["kind"] == "user_added_to_group" || context["kind"] == "user_removed_from_group")

سأقوم بتحديث المثال قريبًا.

4 إعجابات