use crate::config::CONFIG; use crate::types::ThreadsData; pub async fn get_pub_ip() -> ThreadsData { let url4 = "http://api.ipify.org".to_string(); let url6 = "http://api64.ipify.org".to_string(); let _err4 = String::from("Error4"); let res4 = match minreq::get(url4).send() { Ok(resp) => match resp.as_str() { Ok(res_str) => res_str.trim().to_string(), Err(_) => _err4, }, Err(_) => _err4, }; let _err6 = String::from("Error6"); let mut res6 = String::from(""); if CONFIG.pub_ip.show6 { res6 = match minreq::get(url6).send() { Ok(resp) => match resp.as_str() { Ok(res_str) => format!("[{}]", res_str.trim().to_string()), Err(_) => _err6, }, Err(_) => _err6, } } let data = format!(" {} {} {} {}", CONFIG.pub_ip.icon, res4, res6, CONFIG.seperator); ThreadsData::PubIp(data) }