diff options
| author | uku <[email protected]> | 2023-10-13 18:31:21 +0200 |
|---|---|---|
| committer | seth <[email protected]> | 2023-10-13 13:05:37 -0400 |
| commit | dec178a883769e221c8da3c125f83c6512b733e3 (patch) | |
| tree | 2c83398eea4375a12ba3e6583ec43ae3a6bf3070 /src/commands/random_shiggy.rs | |
| parent | 05e0831f7926dd4afda8e72c6ea5aa7a466b6bea (diff) | |
move client & logic into api module
Diffstat (limited to 'src/commands/random_shiggy.rs')
| -rw-r--r-- | src/commands/random_shiggy.rs | 31 |
1 files changed, 2 insertions, 29 deletions
diff --git a/src/commands/random_shiggy.rs b/src/commands/random_shiggy.rs index b1f1511..c6aa6de 100644 --- a/src/commands/random_shiggy.rs +++ b/src/commands/random_shiggy.rs @@ -1,36 +1,9 @@ -use crate::api::guzzle::REQWEST_CLIENT; -use reqwest::StatusCode; -use serde::Deserialize; +use crate::api::shiggy::get_random_shiggy; use serenity::builder::CreateApplicationCommand; use serenity::model::prelude::application_command::CommandDataOption; -const URL: &str = "https://safebooru.donmai.us/posts/random.json?tags=kemomimi-chan_(naga_u)+naga_u&only=file_url"; -const ERROR_MSG: &str = "couldn't get a shiggy"; - -#[derive(Deserialize)] -struct SafebooruResponse { - file_url: String, -} - pub async fn run(_: &[CommandDataOption]) -> String { - let resp = match REQWEST_CLIENT - .execute(REQWEST_CLIENT.get(URL).build().unwrap()) - .await - { - Ok(r) => r, - Err(e) => return format!("{} ({:?})", ERROR_MSG, e), - }; - - match resp.status() { - StatusCode::OK => match resp.json::<SafebooruResponse>().await { - Ok(sr) => sr.file_url, - Err(e) => format!("{} ({:?})", ERROR_MSG, e), - }, - other => { - println!("{}", resp.text().await.unwrap()); - format!("{} ({:?})", ERROR_MSG, other) - } - } + get_random_shiggy().await } pub fn register(command: &mut CreateApplicationCommand) -> &mut CreateApplicationCommand { |
