omppatil
(Om Patil)
31 يناير 2024، 1:24م
1
مرحباً!،
كيف يمكننا إضافة علامة إلى منشور، وكذلك إزالة علامة المنشور باستخدام وظائف discourse؟
مرحباً. استخدم هذا لمعرفة كيفية استخدام Discourse API إذا لم تفهم كيفية استخدام Discourse API وترغب في التعلم:
Discourse is backed by a complete JSON api. Anything you can do on the site you can also do using the JSON api.
Many of the endpoints are properly documented in the discourse_api gem, however some endpoints lack documentation.
To determine how to do something with the JSON API here are some steps you can follow.
Example: recategorize a topic.
Go to a topic and start editing a category:
[image]
Open Chrome dev tools, switch to the Network tab, select XHR filter:
[image]
Perform the op…
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)
4 إعجابات
omppatil
(Om Patil)
2 فبراير 2024، 10:41ص
8
هل هناك أي وظيفة أو ميزة تعمل بنفس طريقة العلامة (tag) ثم بالنقر عليها سيتم سرد جميع تلك المشاركات؟