aboutsummaryrefslogtreecommitdiffstats
path: root/reaktor/commands/tell-on_join
diff options
context:
space:
mode:
Diffstat (limited to 'reaktor/commands/tell-on_join')
-rwxr-xr-xreaktor/commands/tell-on_join25
1 files changed, 15 insertions, 10 deletions
diff --git a/reaktor/commands/tell-on_join b/reaktor/commands/tell-on_join
index bb4982c..c21dc87 100755
--- a/reaktor/commands/tell-on_join
+++ b/reaktor/commands/tell-on_join
@@ -6,15 +6,20 @@ if test "${FLOCK-}" != "$state_file"; then
exec env FLOCK="$state_file" flock "$state_file" "$0" "$@"
fi
-to="$_from"
+# TODO tell now, if already joined
+jq -r <"$state_file" \
+ --arg to "$_from" \
+ --arg msgtarget "$_msgtarget" \
+ '
+ select(.to == $to and .msgtarget == $msgtarget) |
+ "\(.to): \(.text) \u00032-- \(.from)\u00032 \(.date)"
+ '
-test -e "$state_file" || touch "$state_file"
-# print messages
-sed -n '/^'"$to"' /{
- s/^\([^ ]\+\) \([^ ]\+\) <\([^>]\+\)> \(.*\)/\1: \4 2-- \2, \3/p
-}' "$state_file"
+jq -c <"$state_file" >"$state_file.tmp" \
+ --arg to "$_from" \
+ --arg msgtarget "$_msgtarget" \
+ '
+ select((.to == $to and .msgtarget == $msgtarget) | not)
+ '
-# delete messages
-sed -i '/^'"$to"' /{
- d
-}' "$state_file"
+mv "$state_file.tmp" "$state_file"