40 lines
942 B
Bash
Executable File
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."
|