omppatil
(Om Patil)
31 يناير 2024، 1:24م
1
مرحباً!،
كيف يمكننا إضافة علامة إلى منشور، وكذلك إزالة علامة المنشور باستخدام وظائف discourse؟
مرحباً. استخدم هذا لمعرفة كيفية استخدام Discourse API إذا لم تفهم كيفية استخدام Discourse API وترغب في التعلم:
يتم دعم Discourse بواجهة برمجة تطبيقات JSON كاملة. كل ما يمكنك القيام به على الموقع يمكنك أيضًا القيام به باستخدام واجهة برمجة تطبيقات JSON.
تتوفر وثائق واجهة برمجة التطبيقات على docs.discourse.org . يمكنك أيضًا استخدام مكتبة العميل discourse_api الخاصة بلغة Ruby. ومع ذلك، ليست كل نقطة نهاية موثقة.
لتحديد كيفية القيام بشيء ما باستخدام واجهة برمجة تطبيقات JSON، إليك بعض الخطوات التي يمكنك اتباعها.
مثال: إعادة تصنيف موضوع.
انتقل إلى موضوع وابدأ في تحرير فئة:
[image]
افتح أدوات مطور Chrome، …
omppatil
(Om Patil)
1 فبراير 2024، 4:53ص
5
في الواقع، هذا ليس موضوعًا مكررًا حيث طرحت سؤالًا آخر حول “العلامة” وهذا السؤال يتعلق بـ “الوسم”. أحاول استخدام الوظائف في تطوير إضافة.
نظرًا لأنني أقوم بتطوير إضافة وقد تحققت من جميع الموارد الممكنة، لم أجد وظيفة ذات صلة تساعدني في إضافة وإزالة وسم للمنشور.
التطوير ليس من اختصاصي، ولكن غالبًا ما تكون هناك أمثلة لكيفية القيام بالأشياء في المكونات الإضافية الحالية. أعتقد أن مكون “الأتمتة” الإضافي يحتوي على نص برمجي لإضافة علامات بناءً على الفرز بالذكاء الاصطناعي. ربما يمكن أن يكون النظر في ذلك مفيدًا؟
بشكل عام، أوصي أيضًا بتضمين المزيد من التفاصيل حول ما جربته حتى الآن / إلى أي مدى وصلت عند طلب المساعدة في التطوير. يمكن أن يساعد هذا في توفير السياق لأي إجابات قد تتوقعها.
فقط للإشارة: لا يمكنك وضع علامة على منشور.
يمكنك وضع علامة على موضوع.
مما قد يفسر سبب عدم تمكنك من العثور على مثال للأول.
إليك مثال للأخير:
tags_response = ::AiTopicSummary::CallBot.get_response(messages).strip.chomp('.')
tag_name_list = tags_response.split(",")
if SiteSetting.force_lowercase_tags
tag_name_list = tag_name_list.map { |string| string.downcase }
end
tag_name_list = tag_name_list.map { |string| string.strip.gsub(/[ .]/, "-") }
if SiteSetting.ai_topic_summary_auto_tagging_username.blank?
DiscourseTagging.tag_topic_by_names(current_topic, Guardian.new(Discourse.system_user), tag_name_list)
else
tagging_user = User.find_by(username: SiteSetting.ai_topic_summary_auto_tagging_username)
if tagging_user
DiscourseTagging.tag_topic_by_names(current_topic, Guardian.new(tagging_user), tag_name_list)
end
end
end
def self.get_markdown(topic_id)
system_user = User.find(-1)
omppatil
(Om Patil)
2 فبراير 2024، 10:41ص
8
هل هناك أي وظيفة أو ميزة تعمل بنفس طريقة العلامة (tag) ثم بالنقر عليها سيتم سرد جميع تلك المشاركات؟