لا تزال هذه مشكلة. إذا تم تعيين “مجموعات مسموح بها لروبوت الذكاء الاصطناعي” على 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