#!/bin/bash # Answer a player's feedback report; the reply appears under it in their # lobby ledger. Legacy reports without an id answer to their timestamp. # deploy/feedback-reply.sh set -eu HOST="$1"; REPORT_ID="$2"; STATUS="$3"; shift 3 TEXT="$*" case "$STATUS" in resolved|by-design|open) ;; *) echo "status must be resolved, by-design, or open" >&2; exit 1;; esac LINE=$(python3 - "$REPORT_ID" "$STATUS" "$TEXT" <<'EOF' import json, sys, datetime print(json.dumps({ "reportId": sys.argv[1], "at": datetime.datetime.now(datetime.timezone.utc).isoformat().replace("+00:00", "Z"), "status": sys.argv[2], "text": sys.argv[3], })) EOF ) printf '%s\n' "$LINE" | ssh "root@$HOST" 'cat >> /var/lib/wizwar/feedback.jsonl && tail -1 /var/lib/wizwar/feedback.jsonl'