Discourse AI no respeta el grupo "todos"

Esto sigue siendo un problema. Si “Grupos permitidos para el bot de IA” está configurado en everyone, el bot no responde.

Creo que el error está aquí

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

Si la configuración es everyone, esto devuelve false, ya que 0 no está en post.user.group_ids

El patrón correcto es !user.in_any_groups?(SiteSetting.ai_bot_allowed_groups_map)

que tiene un caso especial para 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 Me gusta