sync: auto-sync from GURU-BEAST-ROG at 2026-06-02 10:44:23
Author: Mike Swanson Machine: GURU-BEAST-ROG Timestamp: 2026-06-02 10:44:23
This commit is contained in:
56
projects/discord-bot/scripts/delete-thread.sh
Normal file
56
projects/discord-bot/scripts/delete-thread.sh
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
# delete-thread.sh <thread_id>
|
||||
#
|
||||
# Deletes a Discord thread (channel) via the Discord REST API.
|
||||
# Reads the bot token from projects/discord-bot/.env (DISCORD_TOKEN=...).
|
||||
#
|
||||
# Exit codes:
|
||||
# 0 — deleted (HTTP 200 or 204)
|
||||
# 1 — bad args, token not found, or API error
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
THREAD_ID="${1:-}"
|
||||
if [ -z "$THREAD_ID" ]; then
|
||||
echo "[ERROR] Usage: delete-thread.sh <thread_id>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ENV_FILE="$SCRIPT_DIR/../.env"
|
||||
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "[ERROR] .env not found at $ENV_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract token — handles quoted and unquoted values, ignores inline comments
|
||||
DISCORD_TOKEN=$(grep '^DISCORD_TOKEN=' "$ENV_FILE" \
|
||||
| head -1 \
|
||||
| sed 's/^DISCORD_TOKEN=//' \
|
||||
| sed "s/[\"']//g" \
|
||||
| sed 's/#.*//' \
|
||||
| tr -d '[:space:]')
|
||||
|
||||
if [ -z "$DISCORD_TOKEN" ]; then
|
||||
echo "[ERROR] DISCORD_TOKEN not found or empty in $ENV_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RESP=$(curl -s -o /tmp/discord_delete_resp.txt -w "%{http_code}" \
|
||||
-X DELETE \
|
||||
"https://discord.com/api/v10/channels/${THREAD_ID}" \
|
||||
-H "Authorization: Bot ${DISCORD_TOKEN}" \
|
||||
-H "Content-Type: application/json")
|
||||
|
||||
HTTP_CODE="$RESP"
|
||||
BODY=$(cat /tmp/discord_delete_resp.txt 2>/dev/null || echo "")
|
||||
rm -f /tmp/discord_delete_resp.txt
|
||||
|
||||
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "204" ]; then
|
||||
echo "[OK] Thread ${THREAD_ID} deleted (HTTP ${HTTP_CODE})"
|
||||
exit 0
|
||||
else
|
||||
echo "[ERROR] Delete failed: HTTP ${HTTP_CODE} — ${BODY}" >&2
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user