From e92f593c800b8dc7aa8868142eb329f1adce9bca Mon Sep 17 00:00:00 2001 From: Anson Date: Sat, 8 Jul 2023 00:17:31 +0000 Subject: [PATCH] deployable state --- src/main.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index 72fee74..3907f05 100644 --- a/src/main.rs +++ b/src/main.rs @@ -44,8 +44,7 @@ async fn main() { pretty_env_logger::init(); log::info!("Starting Wiki Locations Bot"); - // let bot = Bot::from_env(); - let bot = Bot::new("6377516418:AAFnOnkLwbqpQARVoe0fikawtGqlZfuIgLM"); + let bot = Bot::from_env(); teloxide::repl(bot, |bot: Bot, msg: Message| async move { log::info!("Message recieved."); @@ -53,6 +52,7 @@ async fn main() { match msg.location() { Some(user_location) => { log::info!("Location received."); + bot.send_message(msg.chat.id, "Searching for nearby locations..."); let nearby_locations = ureq::get(&format!("https://en.wikipedia.org/w/api.php?action=query&format=json&list=geosearch&formatversion=2&gscoord={}|{}&gsradius=10000&gslimit=5",user_location.latitude,user_location.longitude)) @@ -60,19 +60,25 @@ async fn main() { .unwrap() .into_json::().unwrap().query.geosearch.unwrap(); + + // Not working, and also the wikipedia API is so fast its not necessary. + // bot.send_chat_action(msg.chat.id,teloxide::types::ChatAction::FindLocation).await?; for location in nearby_locations { - bot.send_message(msg.chat.id, format!("http://en.wikipedia.org/?curid={}",location.pageid)).await?; + + bot.send_location(msg.chat.id,location.lat.unwrap(),location.lon.unwrap()).await?; + + let url = teloxide::utils::markdown::link(&format!("http://en.wikipedia.org/?curid={}",location.pageid),&location.title); + let bold_url = teloxide::utils::markdown::bold(&url); + + bot.send_message(msg.chat.id, bold_url).parse_mode(teloxide::types::ParseMode::MarkdownV2).await?; + + } - - // bot.send_message(msg.chat.id, format!("{:#?}", resp)) - // .await?; - // bot.send_message(msg.chat.id, resp.get("key").unwrap()) - // .await?; } None => { log::info!("Something other than a location recived."); - bot.send_message(msg.chat.id, "send a location").await?; + bot.send_message(msg.chat.id, "Send a location to see nearby places that have a wikipedia page!").await?; } };