aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/commands/today/mod.rs6
-rw-r--r--src/commands/today/pianoman.rs26
2 files changed, 30 insertions, 2 deletions
diff --git a/src/commands/today/mod.rs b/src/commands/today/mod.rs
index 50cee99..e18a01e 100644
--- a/src/commands/today/mod.rs
+++ b/src/commands/today/mod.rs
@@ -37,9 +37,10 @@ mod france;
mod shrek;
mod wednesday;
-
mod tomorrow;
+mod pianoman;
+
pub type TodayIter = Box<dyn Iterator<Item=TodayArgs>>;
#[derive(Clone, Debug, Hash, Default)]
@@ -74,8 +75,9 @@ lazy_static! {
shrek::shrek,
wednesday::wednesday,
-
tomorrow::tomorrow,
+
+ pianoman::pianoman,
];
}
diff --git a/src/commands/today/pianoman.rs b/src/commands/today/pianoman.rs
new file mode 100644
index 0000000..d2f11a5
--- /dev/null
+++ b/src/commands/today/pianoman.rs
@@ -0,0 +1,26 @@
+use super::prelude::*;
+
+lazy_static! {
+ static ref TARGET_TIME: chrono::NaiveTime = chrono::NaiveTime::from_hms(21, 0, 0);
+}
+
+pub fn pianoman(dt: chrono::NaiveDateTime) -> TodayIter {
+ if dt.weekday() != chrono::Weekday::Fri {
+ return Box::new(empty());
+ }
+
+ let diff = {
+ let result = *TARGET_TIME - dt.time();
+ if result < chrono::Duration::zero() {
+ -result
+ } else {
+ result
+ }
+ };
+
+ if diff > Duration::minutes(5) {
+ return Box::new(empty());
+ }
+
+ Box::new(once(by_url("https://www.youtube.com/watch?v=gxEPV4kolz0")))
+}