diff options
Diffstat (limited to 'commands')
-rwxr-xr-x | commands/tell-on_join | 19 | ||||
-rwxr-xr-x | commands/tell-on_privmsg | 17 |
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... |