aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
Diffstat (limited to 'commands')
-rwxr-xr-xcommands/tell-on_join19
-rwxr-xr-xcommands/tell-on_privmsg17
2 files changed, 36 insertions, 0 deletions
diff --git a/commands/tell-on_join b/commands/tell-on_join
new file mode 100755
index 0000000..2dbff41
--- /dev/null
+++ b/commands/tell-on_join
@@ -0,0 +1,19 @@
+#! /bin/sh
+set -euf
+
+# require flock from util-linux
+if test "${FLOCK-}" != "$state_file"; then
+ exec env FLOCK="$state_file" flock "$state_file" "$0" "$@"
+fi
+
+to="$_from"
+
+# print messages
+sed -n '/^'"$to"' /{
+ s/^\([^ ]\+\) \([^ ]\+\) <\([^>]\+\)> \(.*\)/\1: \4 2-- \2, \3/p
+}' "$state_file"
+
+# delete messages
+sed -i '/^'"$to"' /{
+ d
+}' "$state_file"
diff --git a/commands/tell-on_privmsg b/commands/tell-on_privmsg
new file mode 100755
index 0000000..5d0aff4
--- /dev/null
+++ b/commands/tell-on_privmsg
@@ -0,0 +1,17 @@
+#! /bin/sh
+set -euf
+
+# require flock from util-linux
+if test "${FLOCK-}" != "$state_file"; then
+ exec env FLOCK="$state_file" flock "$state_file" "$0" "$@"
+fi
+
+from="$_prefix"
+to="$1"; shift
+msg="$*"
+date=$(date)
+
+# TODO tell now, if already joined
+printf '%s %s <%s> %s\n' "$to" "$from" "$date" "$msg" >> "$state_file"
+
+echo 'Consider it noted.' # that's what lambdabot says...