Reply bot for Discourse?

Has anyone built a bot like thing that can reply to posts if specific conditions are met (e.g. "topic in category foo, does not contain string bar)?

I have quite a few “issue” type topics in the developer community I am moderating, and 75% of my replies are just asking for software and environment information. It would be great if I could have a bot version of myself that could check with some simple rules and then create a reply to the topic if they are not met.

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

Use a post template for the category?

I know it is frustrating, especially when using Discourse as a technical support forum. There are standard questions you need to ask e.g. serial number, model number, product series etc. that 90% of the posters don’t care to provide.

Maybe also consider the “Canned Answer” plugin.

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

Post template doesn’t work as only ~75% of the posts need that information :confused:
Also having one makes 50% of all posts have parts of the template (not filled out) inside them :frowning:

“Canned Replies” plugin is in use, still have to 1) read the post and 2) do the mental decision then 3) click the cog 4) click the Canned Replies 5) click the search box 6) type the name of the reply I need 7) click the insert icon 8) click the “Reply” button. That gets old really fast unfortunately (which means after at least 30 minutes of doing this every morning…). :man_shrugging: (Also it is all from my account which is gives me notifications even though I only made them offer the necessary information and didn’t really reply)

But thanks for the suggestions - unfortunately I already tried both :sunny:

If you’re comfortable configuring and self-hosting your own bot software, I wrote a hubot adapter for discourse that may handle your use case.

6 إعجابات

Not yet, but you have to start somewhere :wink:

Awesome, I don’t know anything about Hubot as well (yet), but that looks like what I was looking for.

إعجابَين (2)

Maybe something similar to the Akismet plugin, but only verifies each new post based on whether the required content is there instead of sending the content to Akismet?

أولاً، تم رفع هذا بواسطة النظام، ولم أقم بحفره لتقديم رد.
ثانياً، تحققت مما إذا كان صاحب الموضوع الأصلي نشطاً على هذا الموقع ولم يُرَ صاحب الموضوع الأصلي منذ 14 فبراير 2019، لذا لا تتوقع أن يقرأ صاحب الموضوع الأصلي أي رد أو يختار حلاً لهذا.


يمكن حل هذا بشكل محتمل بواسطة Discourse AI - AI Bot والذي لا يزال قيد التطوير. بصفتي شخصًا لديه وصول مبكر إليه، أحاول تجربة عدد قليل جدًا من المنشورات الأولى الفعلية هنا معه لمعرفة ما يفعله، وفي حين أن روبوت الذكاء الاصطناعي يمكنه تقديم استجابة ذكية يمكن للإنسان قراءتها، فإن العديد من الاستجابات ليست ما أقبله كإجابة. ومع ذلك، بعد رؤية مثل هذه التكنولوجيا قيد التطوير في أماكن أخرى، فإن تكنولوجيا الذكاء الاصطناعي لديها القدرة على تحقيق الهدف المذكور هنا.

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

هناك نص برمجي “الرد التلقائي” الخاص بالأتمتة والذي يمكنه نشر رد بناءً على الكلمات/العبارات المتضمنة في منشور. لست متأكدًا، لكنني أتساءل عما إذا كان يمكن عكس ذلك وتوسيعه قليلاً؟ :thinking:

سأقوم بتمرير هذا إلى #feature، ولكنه طلب قديم جدًا لذلك قد تكون هناك طلبات ميزات أخرى مماثلة لتنظيمها.

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

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

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

هذا سهل تقنيًا لشخص لديه بعض الخبرة في برمجة Ruby. فقط اكتب إضافة (plugin)، تستجيب لحدث :post_created، واكتب بعض التعليمات البرمجية مثل هذه:

DiscourseEvent.on(:post_created) do |*params|
    post, opt, user = params

    if post.raw.include "foo"
        PostCreator.create!(
             User.find_by(id: bot_id),
             topic_id: post.topic_id,
             raw: "bar",
        )
    end
end
4 إعجابات