هل هناك طريقة لإنشاء روبوت على Discourse يرد على أوامري، بطريقة مشابهة للطريقة التي بنيت بها العديد من روبوتات Discord الخاصة بي؟
بشكل أساسي، أعرف أن هناك العديد من الإضافات التي يمكنني تثبيتها، ولكن في ذهني، سيكون من الأسهل بكثير بالنسبة لي صيانتها إذا كان بإمكاني فقط الحصول على روبوت يمكنه الاستماع إلى النص في تعليق بدلاً من محاولة تثبيت إضافات معرضة للتسبب في مشاكل، وخاصة إذا قرر القائم على الصيانة أنه لم يعد يرغب في صيانة الإضافة بعد الآن.
ألقِ نظرة على إضافة Frotz الخاصة بي كمثال/نقطة انطلاق
الإضافات التي تعتمد على واجهة برمجة التطبيقات (API) فقط مثل هذه تميل إلى أن تكون أكثر استقرارًا بمرور الوقت، لذا لا تقلق بشأن عدم الاستقرار. كل الكود يتطلب صيانة على أي حال. لقد أجريت تغييرات طفيفة على Frotz-bot بمرور الوقت.
ألقِ نظرة على إضافة Discord bot الخاصة بي لترى كيف يمكنك كتابة كود ضد أحداث مثل المنشورات الجديدة:
قد يتم تلبية احتياجاتك بواسطة:
إذا كنت تريد المزيد من التحكم في مصير الكود، فقم بصيانة نسخة متفرعة/مستودع بنفسك.
إذا كنت تريده حقًا أن يكون منفصلاً تمامًا، يمكنك استخدام مزيج من خطافات الويب (webhooks) لتسليم الأحداث إلى الروبوت الخاص بك وواجهة برمجة تطبيقات طلبات HTTP (HTTP requests API) لكي يقوم الروبوت الخاص بك بإجراء تغييرات في Discourse.
كما أشار @merefield، من الممكن إنشاء إضافات لا تتجاوز الوظائف الأساسية، وبدلاً من ذلك يتم إعلامها بالأحداث والتفاعل مع واجهات برمجة التطبيقات الأساسية، والتي يسهل صيانتها وأقل عرضة للتسبب في آثار جانبية غير مرغوب فيها.
يتطلب المسار الخاص بخطافات الويب/واجهة برمجة التطبيقات أيضًا إعداد مكدس لتشغيل الروبوت الخاص بك والتأكد من أنه متاح دائمًا أثناء توفر Discourse، وكلاهما يأتي مجانًا مع إضافة يتم تحميلها في Discourse.
يتطلب كتابة إضافة تعلم لغة Ruby واكتساب بعض الإلمام بفئات Discourse ولكن إذا كنت قادرًا بالفعل على كتابة روبوت وصيانته بلغة أخرى، فأنا متأكد من أنه يمكنك تعلم ما هو مطلوب بسرعة كبيرة.
يمكن القيام بذلك في المنشور/التعليق،
هل من الممكن وجود روبوت في دردشة جماعية؟
أرى أن هناك خطافًا واردًا يمكنه إرسال رسالة إلى دردشة جماعية،
ولكن يبدو أنه لا توجد طريقة لوجود حساب روبوت يستمع إلى رسائل الدردشة، ثم يفعل شيئًا وفقًا لذلك…؟
مع إضافة ، يمكنها إضافة معالج/مستمع أحداث لرسالة الدردشة الجماعية.
لدي خادم نقطة نهاية REST يعالج أحداث webhook ، وهذا يعمل بشكل جيد لإضافة روبوت إلى المنشور/التعليق.
ولكن للأسف ، لا توجد أحداث يتم إطلاقها لرسالة الدردشة الجماعية ، فهي لا تعمل بهذه الطريقة …