Files
MatrixHelpers/delete_room.sh
T

40 lines
942 B
Bash
Executable File

#!/bin/bash
# This script deletes a given room
if [ -z "$1" ]; then
echo "Usage: $0 <room_id>"
echo "Environment variables MATRIX_BASE_URL and MATRIX_TOKEN must be set."
exit 1
fi
if [ -z "$MATRIX_BASE_URL" ] || [ -z "$MATRIX_TOKEN" ]; then
echo "Error: MATRIX_BASE_URL and MATRIX_TOKEN environment variables must be set."
exit 1
fi
ROOM_ID="$1"
BASE_URL="${MATRIX_BASE_URL}/_synapse/admin/v2"
TOKEN="${MATRIX_TOKEN}"
echo "=== Deleting room $ROOM_ID from server entirely ==="
result=$(curl -s -X DELETE "${BASE_URL}/rooms/${ROOM_ID}" \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"purge": true,
"force_purge": true,
"block": true
}')
errcode=$(echo "$result" | jq -r '.errcode // empty' 2>/dev/null)
if [ -n "$errcode" ]; then
echo " Failed: ${errcode} - $(echo "$result" | jq -r '.error // "Unknown"')"
else
echo " Done."
fi
echo ""
echo "Process finished."