From e766a8fa7f0e9b6b88011fbcd67fddf519582e84 Mon Sep 17 00:00:00 2001 From: Andreas Larsen Date: Thu, 4 Aug 2022 15:52:08 +0200 Subject: [PATCH] fix alreadyhitleet check and add time command --- src/main.rs | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index fd372e8..ea5d577 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ mod lib; use crate::lib::{text_is_leet, time_is_leet}; -use chrono::NaiveDateTime; +use chrono::{NaiveDateTime, NaiveTime, Local}; use sqlx::AnyPool; use sqlx::any::AnyPoolOptions; use teloxide::{prelude::*, RequestError, dispatching::UpdateFilterExt, utils::command::BotCommands}; @@ -61,7 +61,7 @@ async fn check_leet(username: &str, sent_time: NaiveDateTime, pool: &AnyPool) -> if let Some(latest_leet) = latest_leet { let distance = sent_time - latest_leet.2; - if distance.num_hours() < 24 { + if distance.num_hours() < 1 { return Err(LeetError::AlreadyHitLeet); } } @@ -99,7 +99,9 @@ fn message_ok() -> Result<(), MessageHandlerError> { #[command(rename = "lowercase", description = "score commands")] enum LeetCommand { #[command(description = "get scores")] - Scores + Scores, + #[command(description = "get current time info")] + Time } #[derive(Error,Debug)] @@ -171,6 +173,23 @@ async fn leet_command_handler(message: Message, cmd: LeetCommand, bot: AutoSend< let msg = format!("Leet scores:\n{}", scores_str); + bot.send_message(message.chat.id, msg).await?; + }, + LeetCommand::Time => { + let message_time = message.date.naive_utc(); + let current_time = Local::now().time(); + let leet_time = NaiveTime::from_hms(13,37,30); + let distance_to_leet = leet_time - current_time; + + let msg = format!("My current time is: {} +message was sent at: {} +leet is at: {}, in {} seconds", + current_time, + message_time, + leet_time, + distance_to_leet.num_seconds() + ); + bot.send_message(message.chat.id, msg).await?; } }