Public/Get-GW2Dungeons.ps1
|
<#
.SYNOPSIS Retrieves information about dungeons. .DESCRIPTION This function retrieves information about dungeons from the Guild Wars 2 API. It supports retrieving specific dungeons by ID or all dungeons. .PARAMETER Ids The ID(s) of the dungeons to retrieve. Can be a single ID, an array of IDs, or "all". .PARAMETER Lang The language to return localized text in. Defaults to "en". Valid values: "en", "es", "de", "fr", "zh". .EXAMPLE Get-GW2Dungeons -Ids "asc_catacombs","caudecus_manor" Retrieves information for specific dungeons. .EXAMPLE Get-GW2Dungeons -Ids "all" Retrieves information for all dungeons. .LINK https://wiki.guildwars2.com/wiki/API:2/dungeons #> function Get-GW2Dungeons { [CmdletBinding()] param ( [Parameter(Mandatory = $false)] [object]$Ids, [Parameter(Mandatory = $false)] [ValidateSet("en", "es", "de", "fr", "zh")] [string]$Lang = "en" ) $Uri = "https://api.guildwars2.com/v2/dungeons" $QueryParams = @{ lang = $Lang } if ($null -ne $Ids) { if ($Ids -is [array]) { $QueryParams["ids"] = $Ids -join "," } elseif ($Ids -eq "all") { $QueryParams["ids"] = "all" } else { $QueryParams["ids"] = $Ids } } try { Invoke-RestMethod -Uri $Uri -Method Get -Body $QueryParams } catch { Write-Error "Failed to retrieve dungeons: $_" } } |