summary refs log tree commit diff
path: root/commands/booktime
diff options
context:
space:
mode:
Diffstat (limited to 'commands/booktime')
-rwxr-xr-xcommands/booktime21
1 files changed, 21 insertions, 0 deletions
diff --git a/commands/booktime b/commands/booktime
new file mode 100755
index 0000000..9133210
--- /dev/null
+++ b/commands/booktime
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+# inspired by and using data from https://literature-clock.jenevoldsen.com/
+
+# $2 = noa!noa@localhost
+NICK="${2%!*}"
+[ -z "$NICK" ] && NICK="$(whoami)"
+
+# the following timezone logic is taken from /town/our/timefor <3
+ip=$(finger $NICK 2>/dev/null | egrep -o -m 1 '([0-9]{1,3}\.){3}[0-9]{1,3}')
+[[ -z $ip ]] && ip=$(finger $1 2>/dev/null | egrep -o -i -m 1 '([0-9a-f]){1,4}(:([0-9a-f]){1,4}){1,7}')
+[[ -n $ip ]] && TIMEZONE=$(curl -s "https://ipapi.co/$ip/timezone")
+
+TIME=$(TZ=$TIMEZONE date "+%H:%M")
+SENTS="/town/our/data/booktime.psv"
+
+awk -F '|' -v time="$TIME" \
+	'{ if ($1 == time) { print $3 "   --" $5 ", " $4  } else {next }}' "$SENTS" \
+	| shuf \
+	| tail -n1
+