#!/bin/sh

PUBKEY="86eb0991823f42049284781d75e9673e4d32dfd57936a61f6de30fe06fdad9d5"
RELAY="wss://nos.lol"

INDIEWEB_FILE="/mnt/sdb/www/mocus/indieweb.json"
NOSTR_FILE="/mnt/sdb/www/mocus/nostr.json"

WEBSOCAT="/usr/local/bin/websocat"
JQ="/usr/bin/jq"
TIMEOUT="/usr/bin/timeout"

TEMP_FILE=$(mktemp)

echo '["REQ","s",{"authors":["'"$PUBKEY"'"],"kinds":[1],"limit":50}]' |
    "$TIMEOUT" 10s "$WEBSOCAT" -t "$RELAY" |
    "$JQ" -c 'select(.[0] == "EVENT") | .[2]' > "$TEMP_FILE"

if [ ! -s "$TEMP_FILE" ]; then
    echo "ERROR: Keine Daten vom Relay empfangen."
    rm -f "$TEMP_FILE"
    exit 1
fi

"$JQ" -c 'select(.content | test("#indieweb"; "i"))' "$TEMP_FILE" | head -n 3 > "$INDIEWEB_FILE"

"$JQ" -c '
  select(.content | test("#indieweb"; "i") | not) |
  .content |= (gsub("#\\w+"; "") | gsub(" +"; " ") | sub("^ +"; "") | sub(" +$"; ""))
' "$TEMP_FILE" | head -n 3 > "$NOSTR_FILE"

rm -f "$TEMP_FILE"
