#!/bin/bash # This script deletes a given room if [ -z "$1" ]; then echo "Usage: $0 " 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."