Discourse AI가 "모두" 그룹을 무시합니다

여전히 문제가 발생하고 있습니다. "AI bot allowed groups"가 everyone으로 설정되어 있으면 봇이 응답하지 않습니다.

버그가 여기에 있다고 생각합니다.

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

설정이 everyone인 경우, post.user.group_ids에 0이 포함되어 있지 않기 때문에 이 코드가 false를 반환합니다.

올바른 패턴은 !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
6개의 좋아요