aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authortv <tv@nomic.retiolum>2014-04-20 12:30:17 +0200
committertv <tv@nomic.retiolum>2014-04-20 12:30:17 +0200
commit7862c9c38d8109f8f307e7c1a6f374c9d4f0f41e (patch)
treecde93ad9545ead486a3672ff2c4fd70617315990 /commands
parentc16a558704572fc120244b912b9d4c2e4e2a1c3b (diff)
reaktor.py: add on_join hook: tell NICK MSG...
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...