This commit is contained in:
parent
47558fcaae
commit
367f37738b
1 changed files with 62 additions and 11 deletions
|
@ -2,7 +2,9 @@ import birl
|
||||||
import env
|
import env
|
||||||
import gleam/int
|
import gleam/int
|
||||||
import gleam/io
|
import gleam/io
|
||||||
|
import gleam/list
|
||||||
import gleam/option
|
import gleam/option
|
||||||
|
import gleam/uri
|
||||||
import gleam_community/ansi
|
import gleam_community/ansi
|
||||||
import spacetraders_api
|
import spacetraders_api
|
||||||
import spacetraders_models/account_id
|
import spacetraders_models/account_id
|
||||||
|
@ -12,11 +14,9 @@ import spacetraders_models/waypoint_symbol
|
||||||
|
|
||||||
pub fn main() -> Nil {
|
pub fn main() -> Nil {
|
||||||
let assert Ok(env.Env(agent_token:, ..)) = env.load_dotenv()
|
let assert Ok(env.Env(agent_token:, ..)) = env.load_dotenv()
|
||||||
let assert Ok(server_status) = spacetraders_api.get_server_status()
|
|
||||||
let assert Ok(account) = spacetraders_api.get_account(agent_token)
|
|
||||||
let assert Ok(agent) = spacetraders_api.get_agent(agent_token)
|
|
||||||
let now = birl.now()
|
|
||||||
io.println("")
|
io.println("")
|
||||||
|
|
||||||
|
let assert Ok(account) = spacetraders_api.get_account(agent_token)
|
||||||
io.println(ansi.bold(ansi.underline(ansi.blue("Account"))))
|
io.println(ansi.bold(ansi.underline(ansi.blue("Account"))))
|
||||||
io.println(ansi.bold("Id:\t\t") <> account_id.to_string(account.id))
|
io.println(ansi.bold("Id:\t\t") <> account_id.to_string(account.id))
|
||||||
case account.email {
|
case account.email {
|
||||||
|
@ -25,6 +25,8 @@ pub fn main() -> Nil {
|
||||||
}
|
}
|
||||||
io.println(ansi.bold("Created At:\t") <> birl.to_iso8601(account.created_at))
|
io.println(ansi.bold("Created At:\t") <> birl.to_iso8601(account.created_at))
|
||||||
io.println("")
|
io.println("")
|
||||||
|
|
||||||
|
let assert Ok(agent) = spacetraders_api.get_agent(agent_token)
|
||||||
io.println(ansi.bold(ansi.underline(ansi.magenta("Agent"))))
|
io.println(ansi.bold(ansi.underline(ansi.magenta("Agent"))))
|
||||||
io.println(ansi.bold("Symbol:\t\t") <> agent_symbol.to_string(agent.symbol))
|
io.println(ansi.bold("Symbol:\t\t") <> agent_symbol.to_string(agent.symbol))
|
||||||
io.println(
|
io.println(
|
||||||
|
@ -37,13 +39,62 @@ pub fn main() -> Nil {
|
||||||
)
|
)
|
||||||
io.println(ansi.bold("Ship Count:\t") <> int.to_string(agent.ship_count))
|
io.println(ansi.bold("Ship Count:\t") <> int.to_string(agent.ship_count))
|
||||||
io.println("")
|
io.println("")
|
||||||
io.println(ansi.italic(
|
|
||||||
"Server last reset "
|
let assert Ok(server_status) = spacetraders_api.get_server_status()
|
||||||
|
let now = birl.now()
|
||||||
|
io.println(ansi.bold(ansi.underline(ansi.green("Server"))))
|
||||||
|
io.println(ansi.bold("Version:\t") <> server_status.version)
|
||||||
|
io.println(ansi.bold("Status:\t\t") <> server_status.status)
|
||||||
|
io.println(
|
||||||
|
ansi.bold("Last Reset:\t")
|
||||||
<> birl.legible_difference(now, server_status.reset_date),
|
<> birl.legible_difference(now, server_status.reset_date),
|
||||||
))
|
)
|
||||||
io.println(ansi.italic(
|
io.println(
|
||||||
"Server will next reset "
|
ansi.bold("Next Reset:\t")
|
||||||
<> birl.legible_difference(now, server_status.server_resets.next),
|
<> birl.legible_difference(now, server_status.server_resets.next)
|
||||||
))
|
<> " ("
|
||||||
|
<> ansi.italic(server_status.server_resets.frequency)
|
||||||
|
<> ")",
|
||||||
|
)
|
||||||
|
case server_status.health.last_market_update {
|
||||||
|
option.Some(last_market_update) ->
|
||||||
|
io.println(
|
||||||
|
ansi.bold("Market Updated:\t")
|
||||||
|
<> birl.legible_difference(now, last_market_update),
|
||||||
|
)
|
||||||
|
option.None -> Nil
|
||||||
|
}
|
||||||
|
io.println("")
|
||||||
|
|
||||||
|
io.println(ansi.bold(ansi.underline(ansi.blue("Links"))))
|
||||||
|
list.each(server_status.links, fn(link) {
|
||||||
|
io.println(ansi.bold(link.name) <> ": " <> uri.to_string(link.url))
|
||||||
|
})
|
||||||
|
io.println("")
|
||||||
|
|
||||||
|
io.println(
|
||||||
|
ansi.bold(ansi.underline(ansi.yellow("Leaderboard - Most Credits"))),
|
||||||
|
)
|
||||||
|
list.each(server_status.leaderboards.most_credits, fn(entry) {
|
||||||
|
io.println(
|
||||||
|
ansi.bold(agent_symbol.to_string(entry.agent_symbol))
|
||||||
|
<> ": "
|
||||||
|
<> int.to_string(entry.credits),
|
||||||
|
)
|
||||||
|
})
|
||||||
|
io.println("")
|
||||||
|
|
||||||
|
io.println(
|
||||||
|
ansi.bold(
|
||||||
|
ansi.underline(ansi.yellow("Leaderboard - Most Submitted Charts")),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
list.each(server_status.leaderboards.most_submitted_charts, fn(entry) {
|
||||||
|
io.println(
|
||||||
|
ansi.bold(agent_symbol.to_string(entry.agent_symbol))
|
||||||
|
<> ": "
|
||||||
|
<> int.to_string(entry.chart_count),
|
||||||
|
)
|
||||||
|
})
|
||||||
io.println("")
|
io.println("")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue