#!/bin/bash

# Dieses Skript richtet den systemd-Dienst für den SCUM Discord Bot ein.
# Führen Sie es mit sudo aus: sudo bash setup_discord_bot.sh

# --- Konfiguration ---
PROJECT_DIR="/var/www/html/scum_projekt"
SERVICE_FILE="scum-discord-bot.service"
# --- Ende der Konfiguration ---

# Sicherstellen, dass das Skript als root ausgeführt wird
if [ "$EUID" -ne 0 ]; then
  echo "Bitte führen Sie dieses Skript als root oder mit sudo aus."
  exit
fi

echo ">> Starte die Einrichtung des SCUM Discord Bot Service..."

# Variablen für die Pfade
SCRIPTS_DIR="$PROJECT_DIR/scripts"
SYSTEMD_DIR="/etc/systemd/system"
VAR_DIR="$PROJECT_DIR/var"
LOG_DIR="$VAR_DIR/log"
LOG_FILE="$LOG_DIR/discord-bot.log"
ERROR_LOG_FILE="$LOG_DIR/discord-bot-error.log"

# 1. Service-Datei kopieren
echo "1. Kopiere Service-Datei nach $SYSTEMD_DIR..."
cp "$SCRIPTS_DIR/$SERVICE_FILE" "$SYSTEMD_DIR/"
if [ $? -ne 0 ]; then
    echo "FEHLER: Kopieren der Service-Datei fehlgeschlagen."
    exit 1
fi

# 2. Log-Dateien erstellen
echo "2. Erstelle Log-Dateien in $LOG_DIR..."
touch "$LOG_FILE"
touch "$ERROR_LOG_FILE"

# 3. Berechtigungen setzen
echo "3. Setze Berechtigungen für ftpuser..."
chown -R ftpuser:ftpuser "$VAR_DIR"
if [ $? -ne 0 ]; then
    echo "WARNUNG: Konnte Berechtigungen für $VAR_DIR nicht setzen. Manuell prüfen."
fi

# 4. Systemd neu laden
echo "4. Lade systemd-Daemon neu..."
systemctl daemon-reload

# 5. Alten Dienst stoppen und deaktivieren (falls vorhanden)
echo "5. Stoppe und deaktiviere alte Dienste (falls vorhanden)..."
systemctl stop discord_bot_daemon.service >/dev/null 2>&1
systemctl disable discord_bot_daemon.service >/dev/null 2>&1

# 6. Neuen Dienst starten und aktivieren
echo "6. Starte und aktiviere den neuen Service '$SERVICE_FILE'..."
systemctl start "$SERVICE_FILE"
systemctl enable "$SERVICE_FILE"

echo ""
echo "------------------------------------------"
echo ">> Einrichtung erfolgreich abgeschlossen!"
echo "------------------------------------------"
echo ""
echo "Der Discord Bot läuft jetzt als Dienst."
echo ""
echo "Nützliche Befehle:"
echo "  - Status prüfen:      sudo systemctl status $SERVICE_FILE"
echo "  - Live-Logs ansehen:    tail -f $LOG_FILE"
echo "  - Fehler-Logs ansehen:   tail -f $ERROR_LOG_FILE"
echo "  - Dienst stoppen:       sudo systemctl stop $SERVICE_FILE"
echo "  - Dienst neustarten:    sudo systemctl restart $SERVICE_FILE"
echo "" 