mirror of
https://github.com/fleschutz/PowerShell.git
synced 2024-11-23 08:23:14 +01:00
53 lines
1.8 KiB
PowerShell
Executable File
53 lines
1.8 KiB
PowerShell
Executable File
<#
|
|
.SYNOPSIS
|
|
List crypto rates
|
|
.DESCRIPTION
|
|
This PowerShell script queries cryptocompare.com and lists the current crypto exchange rates in USD/EUR/RUB/CNY.
|
|
.EXAMPLE
|
|
PS> ./list-crypto-rates
|
|
.LINK
|
|
https://github.com/fleschutz/PowerShell
|
|
.NOTES
|
|
Author: Markus Fleschutz | License: CC0
|
|
#>
|
|
|
|
function ListCryptoRate { param([string]$Symbol, [string]$Name)
|
|
$Rates = (Invoke-WebRequest -URI "https://min-api.cryptocompare.com/data/price?fsym=$Symbol&tsyms=USD,EUR,RUB,CNY" -userAgent "curl" -useBasicParsing).Content | ConvertFrom-Json
|
|
New-Object PSObject -property @{ 'Cryptocurrency' = "1 $Name ($Symbol) ="; 'USD' = "$($Rates.USD)"; 'EUR' = "$($Rates.EUR)"; 'RUB' = "$($Rates.RUB)"; 'CNY' = "$($Rates.CNY)" }
|
|
}
|
|
|
|
function ListCryptoRates {
|
|
ListCryptoRate BTC "Bitcoin"
|
|
ListCryptoRate ETH "Ethereum"
|
|
ListCryptoRate BUSD "BUSD"
|
|
ListCryptoRate XRP "XRP"
|
|
ListCryptoRate USDT "Tether"
|
|
ListCryptoRate AVAX "Avalanche"
|
|
ListCryptoRate LTC "Litecoin"
|
|
ListCryptoRate SOL "Solana"
|
|
ListCryptoRate GALA "Gala"
|
|
ListCryptoRate DOGE "Dogecoin"
|
|
ListCryptoRate ADA "Cardano"
|
|
ListCryptoRate BNB "Binance Coin"
|
|
ListCryptoRate USDC "USD Coin"
|
|
ListCryptoRate DOT "Polkadot"
|
|
ListCryptoRate UNI "Uniswap"
|
|
ListCryptoRate BUSD "Binance USD"
|
|
ListCryptoRate BCH "Bitcoin Cash"
|
|
ListCryptoRate LINK "Chainlink"
|
|
ListCryptoRate LUNA "Terra"
|
|
ListCryptoRate ICP "Internet Computer"
|
|
ListCryptoRate WBTC "Wrapped Bitcoin"
|
|
ListCryptoRate MATIC "Polygon"
|
|
ListCryptoRate XLM "Stellar"
|
|
}
|
|
|
|
try {
|
|
ListCryptoRates | Format-Table -property @{e='Cryptocurrency';width=28},USD,EUR,RUB,CNY
|
|
Write-Host "(by cryptocompare.com, Crypto is volatile and unregulated. Capital at risk. Taxes may apply)"
|
|
exit 0 # success
|
|
} catch {
|
|
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
|
|
exit 1
|
|
}
|