Discourse AI لا تحترم مجموعة "الجميع"

لا تزال هذه مشكلة. إذا تم تعيين “مجموعات مسموح بها لروبوت الذكاء الاصطناعي” على everyone، فإن الروبوت لا يستجيب.

أعتقد أن الخطأ يكمن هنا

return false if (SiteSetting.ai_bot_allowed_groups_map & post.user.group_ids).blank?

إذا كان الإعداد هو everyone، فإن هذا يُرجع خطأ، لأن 0 ليس ضمن post.user.group_ids

النمط الصحيح هو !user.in_any_groups?(SiteSetting.ai_bot_allowed_groups_map)

والذي يحتوي على حالة خاصة لـ everyone:

  def in_any_groups?(group_ids)
    group_ids.include?(Group::AUTO_GROUPS[:everyone]) ||
      (is_system_user? && (Group.auto_groups_between(:admins, :trust_level_4) & group_ids).any?) ||
      (group_ids & belonging_to_group_ids).any?
  end
4 إعجابات