17 lines
487 B
Rust
17 lines
487 B
Rust
use serde_json::Value;
|
|
use tracing::debug;
|
|
|
|
pub async fn get_waifu_pic(category: &str) -> anyhow::Result<Option<String>> {
|
|
let api_resp = reqwest::get(format!("https://api.waifu.pics/sfw/{}", category))
|
|
.await?
|
|
.text()
|
|
.await?;
|
|
let api_resp = api_resp.trim();
|
|
debug!("API response: {}", api_resp);
|
|
let value: Value = serde_json::from_str(&api_resp)?;
|
|
let url = value["url"].as_str().map(|v| v.to_string());
|
|
Ok(url)
|
|
}
|
|
|
|
// TODO: add owofier
|