Compare commits
2 commits
366968e331
...
367f37738b
Author | SHA1 | Date | |
---|---|---|---|
367f37738b | |||
47558fcaae |
3 changed files with 65 additions and 14 deletions
|
@ -16,7 +16,7 @@ dot_env = ">= 1.2.0 and < 2.0.0"
|
||||||
gleam_erlang = ">= 1.0.0 and < 2.0.0"
|
gleam_erlang = ">= 1.0.0 and < 2.0.0"
|
||||||
gleam_otp = ">= 1.0.0 and < 2.0.0"
|
gleam_otp = ">= 1.0.0 and < 2.0.0"
|
||||||
gleam_community_ansi = ">= 1.4.3 and < 2.0.0"
|
gleam_community_ansi = ">= 1.4.3 and < 2.0.0"
|
||||||
spacetraders_sdk = ">= 1.5.1 and < 2.0.0"
|
spacetraders_sdk = ">= 1.5.3 and < 2.0.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
gleeunit = ">= 1.5.1 and < 2.0.0"
|
gleeunit = ">= 1.5.1 and < 2.0.0"
|
||||||
|
|
|
@ -18,7 +18,7 @@ packages = [
|
||||||
{ name = "gleeunit", version = "1.5.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "D33B7736CF0766ED3065F64A1EBB351E72B2E8DE39BAFC8ADA0E35E92A6A934F" },
|
{ name = "gleeunit", version = "1.5.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "D33B7736CF0766ED3065F64A1EBB351E72B2E8DE39BAFC8ADA0E35E92A6A934F" },
|
||||||
{ name = "ranger", version = "1.4.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "gleam_yielder"], otp_app = "ranger", source = "hex", outer_checksum = "C8988E8F8CDBD3E7F4D8F2E663EF76490390899C2B2885A6432E942495B3E854" },
|
{ name = "ranger", version = "1.4.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "gleam_yielder"], otp_app = "ranger", source = "hex", outer_checksum = "C8988E8F8CDBD3E7F4D8F2E663EF76490390899C2B2885A6432E942495B3E854" },
|
||||||
{ name = "simplifile", version = "2.2.1", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "C88E0EE2D509F6D86EB55161D631657675AA7684DAB83822F7E59EB93D9A60E3" },
|
{ name = "simplifile", version = "2.2.1", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "C88E0EE2D509F6D86EB55161D631657675AA7684DAB83822F7E59EB93D9A60E3" },
|
||||||
{ name = "spacetraders_sdk", version = "1.5.1", build_tools = ["gleam"], requirements = ["birl", "gleam_http", "gleam_httpc", "gleam_json", "gleam_stdlib"], otp_app = "spacetraders_sdk", source = "hex", outer_checksum = "51C701576DD44703987B531ED22E13DB05254D3332941BC2E0ED72D661637395" },
|
{ name = "spacetraders_sdk", version = "1.5.3", build_tools = ["gleam"], requirements = ["birl", "gleam_http", "gleam_httpc", "gleam_json", "gleam_stdlib"], otp_app = "spacetraders_sdk", source = "hex", outer_checksum = "68D06C93333F646A516587644D6C91E5D07279D74E078FA7966D678E90EC431F" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[requirements]
|
[requirements]
|
||||||
|
@ -32,4 +32,4 @@ gleam_json = { version = ">= 3.0.1 and < 4.0.0" }
|
||||||
gleam_otp = { version = ">= 1.0.0 and < 2.0.0" }
|
gleam_otp = { version = ">= 1.0.0 and < 2.0.0" }
|
||||||
gleam_stdlib = { version = ">= 0.60.0 and < 1.0.0" }
|
gleam_stdlib = { version = ">= 0.60.0 and < 1.0.0" }
|
||||||
gleeunit = { version = ">= 1.5.1 and < 2.0.0" }
|
gleeunit = { version = ">= 1.5.1 and < 2.0.0" }
|
||||||
spacetraders_sdk = { version = ">= 1.5.1 and < 2.0.0" }
|
spacetraders_sdk = { version = ">= 1.5.3 and < 2.0.0" }
|
||||||
|
|
|
@ -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