Discourse AIは「everyone」グループを尊重しません

これはまだ問題です。「AI bot allowed groups」が everyone に設定されている場合、ボットは応答しません。

バグはこちらにあると思います。

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

設定が everyone の場合、0 は post.user.group_ids に含まれないため、これは 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
「いいね!」 3