Added ttb module
This commit is contained in:
@@ -8,7 +8,7 @@ edition = "2021"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
||||||
irc = {version = "1.0.0", default-features = false, features = ["tls-rust", "ctcp", "channel-lists","toml_config"]}
|
irc = {version = "1.0.0", default-features = false, features = ["tls-rust", "ctcp", "channel-lists","toml_config"]}
|
||||||
chrono = {version = "*"}
|
chrono = "*"
|
||||||
futures = {version = "*"}
|
futures = {version = "*"}
|
||||||
tokio = {version = "*", features = ["full"]}
|
tokio = {version = "*", features = ["full"]}
|
||||||
regex = "1"
|
regex = "1"
|
||||||
|
|||||||
25
src/modules/ttb.rs
Normal file
25
src/modules/ttb.rs
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
use irc::proto::Message;
|
||||||
|
use std::collections::VecDeque;
|
||||||
|
use chrono::{prelude::*, TimeDelta};
|
||||||
|
|
||||||
|
pub const PATTERN: &str = "^\\$ttb\\s*$";
|
||||||
|
|
||||||
|
|
||||||
|
pub fn time_to_baby(_: regex::Captures, message: &Message, _: &VecDeque<Message>) -> Option<(String, String)> {
|
||||||
|
let local_time: DateTime<Local> = Local::now();
|
||||||
|
|
||||||
|
let birth_time: DateTime<Local> = Local.with_ymd_and_hms(2024, 10, 17, 00, 00, 00).unwrap();
|
||||||
|
|
||||||
|
let difference = birth_time - local_time;
|
||||||
|
|
||||||
|
let completed_message;
|
||||||
|
if difference > TimeDelta::zero() {
|
||||||
|
completed_message = format!("{} {} until pnutz's baby is due!", difference.num_days(), if difference.num_days() > 1 { "days"} else {"day"} );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
completed_message = "They're past due!".to_string();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Some((message.response_target().unwrap_or("#lug").to_string(), completed_message))
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user