diff --git a/src/main.rs b/src/main.rs index 25f3c33..950845d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -28,7 +28,7 @@ async fn main() { let scpsl = Scpsl::new( Url::try_from("https://api.scplist.kr/api/servers/81460").unwrap(), std::env::var("TOKEN_BOT_SCPSL").unwrap(), - "SCP: SL".into(), + "SCP:SL".into(), ); join!(scpsl.run(), mchprs.run(), gamerzone.run()); } diff --git a/src/minecraft.rs b/src/minecraft.rs index 2b740da..c74e5fb 100644 --- a/src/minecraft.rs +++ b/src/minecraft.rs @@ -5,13 +5,13 @@ use url::Url; use crate::{funcs, types::ServerResponse}; -#[derive(serde::Deserialize)] +#[derive(serde::Deserialize, Debug)] struct ServerSummary { online: bool, players: Option, } -#[derive(serde::Deserialize)] +#[derive(serde::Deserialize, Debug)] struct Players { online: i32, max: i32, @@ -38,6 +38,9 @@ impl Minecraft { let request = Request::new(reqwest::Method::GET, self.url.clone()); let response = http_client.execute(request).await?; let data: ServerSummary = serde_json::from_str(&response.text().await?)?; + + trace!("Response JSON for {}: {:#?}", self.name, data); // this + if let Some(players) = data.players { Ok(ServerResponse::new( data.online, diff --git a/src/scpsl.rs b/src/scpsl.rs index 2fa1ea3..7301611 100644 --- a/src/scpsl.rs +++ b/src/scpsl.rs @@ -4,7 +4,7 @@ use reqwest::{Client, Request}; use serenity::*; use url::Url; -#[derive(serde::Deserialize)] +#[derive(serde::Deserialize, Debug)] #[allow(non_snake_case)] struct ServerSummary { online: bool, @@ -32,6 +32,8 @@ impl Scpsl { let response = http_client.execute(request).await?; let data: ServerSummary = serde_json::from_str(&response.text().await?)?; + trace!("Response JSON for {}: {:#?}", self.name, data); // this is the only thing I added. + let playercount: Result, _> = data.players.split('/').map(|x| x.parse::()).collect();