أتمتة النقاش

:discourse2: Summary Discourse Automation lets you automate actions through scripts and triggers. Customisation is made through an automatically generated UI.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Features

  • Easy automation of complex workflows
  • Triggers automations at specific dates, periodically, or on specific events
  • Provides automatically generated UIs to specify options for your automation

Configuration

Automations can be created and updated from Admin → Plugins → Automations, or directly from /admin/plugins/discourse-automation.

Available scripts

Guide Script Trigger(s) Description
:bookmark: Add user to group through custom field :black_small_square:Recurring
:black_small_square:First logged on
Adds a user to a group based on a Custom User Field
:bookmark: Append last checked by :black_small_square:After post cook Adds a ‘last checked by’ function to the bottom of the OP
:bookmark: Append last edited by :black_small_square:After post cook Adds a ‘last edited by’ note to the bottom of the OP
:bookmark: Auto Responder :black_small_square:Post edited/created
:black_small_square:PM created
Given a series of keywords and associated replies, automatically respond with the corresponding reply
Auto Tag topic :black_small_square:Post created/edited
:black_small_square:PM created
Automatically tag a topic
Close topic :black_small_square:Point in time
:black_small_square:Stalled wiki
Automatically close a topic
Create Post :black_small_square:Recurring
:black_small_square:Point in time
Creates a post
Flag post on Words :black_small_square:Post edited/created Flag a topic on creation/edition if it contains specific words
Gift Exchange :black_small_square:Point in time Simple implementation of the Secret Santa game
Group Category Notification Default :black_small_square:Category created/edited Automatically sets a group notification level for newly created subcategories
Make banner topic :black_small_square:Point in time Convert a topic into a banner notice
Pin Topic :black_small_square:Point in time Pin and Unpin a topic in the future
Random Assign
(Assign)
:black_small_square:Point in time
:black_small_square:Recurring
Randomly Assign a topic
Schedule a PM with data explorer results
(Data Explorer)
:black_small_square:Recurring Send a regular PM with the results of a data explorer query
Send Chat message
(Chat)
:black_small_square:Event started
:black_small_square:Recurring
Sends a Chat message to a Channel
Send PMs :black_small_square:First accepted solution (Solved)
:black_small_square:User badge granted
:black_small_square:User added to group
:black_small_square:Stalled wiki
:black_small_square:Recurring
:black_small_square:User promoted
:black_small_square:API call
:black_small_square:User removed from group
Send PMs with support for placeholders
Suspend User By Email :black_small_square:API call Suspend a user for a specified duration
Topic required words :black_small_square:Topic Enforce the presence of at least one of the specified words in the posts of a topic
:bookmark: Triage posts using AI (Discourse AI) :black_small_square:Post created/edited Enhance the management and moderation of forum posts by automating the process of classifying posts
User Global Notice :black_small_square:Stalled topic
:black_small_square:First accepted solution (Solved)
Displays a global notice on the site for a specific user
:bookmark: User Group Membership through Badge :black_small_square:Recurring
:black_small_square:User first logged in
Automatically add users to a group based on their earned badges
Zapier webhook :black_small_square:User promoted
:black_small_square:User added to group
:black_small_square:User badge granted
:black_small_square:User removed from group
Calls a Zapier webhook

Available triggers

Note that due to their nature, each script only supports certain triggers. For example it wouldn’t make sense for a script enforcing the content of a post to trigger when a user is added to a group.

All of the available triggers are mentioned in the “Available scripts” table above.

Most of the triggers are self-explanatory, but here are a couple that may need a little more detail:

Trigger Description
After post cook Triggers after a post is rendered for display
API Call Triggers when a certain API endpoint is called
Stalled wiki Triggers when a wiki hasn’t been edited for a while
Stalled topic Triggers when a topic has not received replies after a certain time
Topic Triggers when a reply is made to a topic

If you need any clarification on any others please feel free to ask below. :slight_smile:

More scripts and triggers to come!

Custom Automations

You can also create custom Automations. :partying_face: Check out our developer’s guide for more information - Create custom Automations


:discourse2: Hosted by us? This plugin is available on our Business and Enterprise plans. Automation | Discourse - Civilized Discussion

Last edited by @tobiaseigen 2025-07-16T20:41:38Z

Check documentPerform check on document:
73 إعجابًا

للتنويه، لقد قمت بتحديث المنشور الأصلي بجدول لجميع الأتمتات الحالية والمشغلات المصاحبة لها. :+1:

(آمل أيضًا في إضافة المزيد من الأدلة، حيث أن دليل “إضافة مستخدم إلى مجموعة…” يبدو وحيدًا بمفرده :slight_smile:)


تمت إضافة عدد قليل من الأدلة الإضافية لـ Setting up the ‘Append last edited by’ automation و Setting up the 'Append last checked by' automation. :tada:

وتمت إضافة برنامج نصي جديد تمامًا، عضوية مجموعة المستخدم من خلال الشارات. :partying_face: هذا البرنامج النصي جديد جدًا، لذا إذا جربته، فأخبرنا كيف سار الأمر. :+1:

10 إعجابات

الآن أشعر بأنني غبي جدًا جدًا… ليس غبيًا، ولكن قريبًا. أين يمكنني بناء الأتمتة؟ ضمن الإضافات، يمكنني فقط تمكين أو تعطيل الأتمتة.

3 إعجابات

بعد تمكين المكون الإضافي، يجب أن ترى عنصرًا جديدًا هنا:

قد يتطلب ذلك تحديث الصفحة لرؤيته.

3 إعجابات

وها أنا ذا أشعر بغباء شديد :man_facepalming:

شكراً.

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

لقد علقت في هذا من قبل :slight_smile:

يجب تعيين الردود على هذا الموضوع للحذف التلقائي بعد 30 يومًا. على الأقل يجب أن يتم حذف هذا الرد.

إعجابَين (2)

لم نعد نفعل ذلك لمواضيع المكونات الإضافية الرسمية. لقد ضاعت الكثير من المعلومات الجيدة بسبب مؤقتات الموضوع. نقوم الآن بتنسيقها يدويًا وتقسيم أي مناقشات مهمة إلى مواضيع منفصلة موسومة (بالإضافة إلى تشجيع الأشخاص على بدء مواضيع منفصلة في المقام الأول). :+1:

18 إعجابًا

تم تقسيم منشور إلى موضوع جديد: أتمتة لإغلاق المواضيع المحلولة ونشر رد قالب

:information_source: Discourse Automation تم دمجه الآن مع نواة Discourse، لذلك لن تحتاج هذه الإضافة إلى التثبيت بشكل منفصل. :partying_face:

:discourse2: هل تستضيف لدينا؟ لن يؤثر هذا التغيير عليك بأي شكل من الأشكال. :+1: إذا كنت على خطط Business أو Enterprise، يمكنك الاستمرار في الاستمتاع بهذه الإضافة وعدم القلق بشأن أي شيء.

6 إعجابات

هل يوجد نص برمجي آلي يمكنه تغيير الفئة؟ أود استخدامه لإنشاء نظام “جدولة النشر” أكثر مرونة.

أتخيل أن النص البرمجي سيقوم بما يلي:

  • يعمل بشكل دوري، و
  • يتحقق من الموضوعات في فئة معينة والتي تحتوي على علامة معينة في رد (مثل، “تم الحل” أو "يحتوي الرد على نص معين، مثل “نشر”).
  • إذا كان تاريخ هذا الرد (أو حالة “تم الحل”) أقدم من إزاحة معينة (مثل، الأمس، أو أسبوع)،
  • حذف جميع الردود
  • الانتقال إلى فئة معينة
  • اختياريًا، إضافة علامات قابلة للتكوين

قد يبحث إصدار أكثر تطوراً عن تاريخ/وقت في الرد المشغل، وينشر إذا كان الآن بعد هذا التاريخ/الوقت.

قد يبحث أيضًا عن الفئة المستهدفة في هذا المنشور (مع تكوين النص البرمجي للفئات المستهدفة المسموح بها). ولهذا الغرض، العلامات.

3 إعجابات

هذا ممكن، لكن لا يوجد شيء كهذا في الوقت الحالي.

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

مرحباً، لا أفهم حالة الاستخدام لهذا المشغل. يبدو أنه قادر على إرسال رسالة خاصة، ولكن إلى من؟ بما أن الويكي يمكن تعديله بواسطة عدة مستخدمين. شكراً.

أنت تقرر في واجهة المستخدم من سيتلقى الرسالة الخاصة.

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

هل هناك طريقة لإنشاء نص برمجي مخصص؟

يبحث الشخص في هذا الموضوع عن طريقة لجعل الرسائل الخاصة تتطلب الإشراف.

لذا أتخيل

  • تشغيل إنشاء رسالة خاصة
  • وضع علامة تلقائية للمراجعة.

أعتقد ذلك:

على الرغم من أن ذلك سيتطلب بعض المهارات التطويرية.

4 إعجابات

هذا رائع جداً. تخيل أن الجهة المسؤولة في الموضوع الذي ربطته قد تفكر في رعاية نص برمجي اعتمادًا على مدى حاجتها لهذه الوظيفة.\n\nشكراً لك يا جامي على الرد السريع. أنت كعادتك مصدر ثري للمعرفة.

إعجابَين (2)

مرحباً، لا أفهم كيف يعمل هذا. لدي حقل مستخدم مخصص يمكن أن يأخذ قيمتين: نعم أو لا (قائمة منسدلة). ولكن عند إنشاء الأتمتة، يُطلب مني فقط اسم الحقل المخصص، وليس قيمته. كيف يمكنني تشغيل الأتمتة لإضافة هذا المستخدم إلى المجموعة إذا لم أتمكن من اختبار قيمة الحقل المخصص؟ شكراً.

يجب أن تتطابق قيمة الحقل المخصص مع اسم المجموعة. لذا، إذا كان سؤالك هو “ماذا تحب أكثر؟” وكانت إجاباتك “كلاب” و “قطط”، فيجب أن تكون الأسماء الكاملة للمجموعات “كلاب” و “قطط”. لا يمكنك تسميتها “محبي الكلاب” و “محبي القطط”

يوجد تلميح في الدليل المرفق

لكنني لم أفهم في البداية أيضًا.

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

حسناً، فهمت الآن، لذا حالة الاستخدام الخاصة بي غير ممكنة: وجود حقل مخصص يمكنك الإجابة عليه بنعم أو لا لأن اسم المجموعة يجب أن يكون نعم أو لا… :roll_eyes:

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

هل يمكنني “وضع علامات تلقائية على المنشورات” بناءً على الكلمات الرئيسية داخل المنشور أو عنوان المنشور؟ يبدو أنه يمكنه فقط وضع علامات تلقائية على الأشياء بناءً على المجموعة أو الفئة، وهو أمر غير مفيد جدًا في حالتي.