#!/bin/bash

tanggal=$(date +"%m-%d-%Y")
tanggal2=$(date +"%m%d%Y")
waktu=$(date +"%T" | tr -d ':')

# Check if bot token and user ID are already set
if [[ ! -f "/root/telegram_config.conf" ]]; then
    # Bot token and user ID not set, prompt user to enter them
    echo "Bot token and user ID are not set. Please enter your bot token and user ID."
    
    read -rp "Enter your Telegram bot token: " botToken
    read -rp "Enter your Telegram user ID: " chatId
    
    # Save the configuration
    echo "botToken=$botToken" > "/root/telegram_config.conf"
    echo "chatId=$chatId" >> "/root/telegram_config.conf"
    
    echo "Configuration saved successfully. You can now run the backup script."
    exit 0
fi

# Configuration file exists, load values
source "/root/telegram_config.conf"

# Authentication
nama=$(cat /root/nama)

red='\e[1;31m'
green='\e[0;32m'
NC='\e[0m'
green() { echo -e "\\033[32;1m${*}\\033[0m"; }
red() { echo -e "\\033[31;1m${*}\\033[0m"; }
echo -e "Memulai Backup"
InputPass=$(cat /root/passbackup)
sleep 1
echo -e "[ ${green}INFO${NC} ] Processing... "
mkdir -p /root/backup
sleep 1

	cp -r /opt/marzban /root/backup/
	cp /var/lib/marzban/xray_config.json /root/backup/
	cp /var/lib/marzban/max_ips.conf /root/backup/
	cp /var/lib/marzban/db.sqlite3 /root/backup/
	cp -r /var/www/html/ /root/backup/
    cp /root/telegram_config.conf /root/backup
    cp /root/file_id.txt /root/backup
    cp /var/lib/vnstat/vnstat.db /root/backup
cd /root
zip -rP ${InputPass} ${nama}_${waktu}_${tanggal2}.zip backup

##############++++++++++++++++++++++++#############

curdir="/root/${nama}_${waktu}_${tanggal2}.zip"
echo "Sending $curdir to Telegram..."

# Mengirim dokumen dan mendapatkan respons JSON
response=$(curl -F chat_id=$chatId -F document=@$curdir https://api.telegram.org/bot$botToken/sendDocument)

# Ekstrak file_id dari respons JSON
file_id=$(echo "$response" | jq -r '.result.document.file_id')

# Menyimpan file_id ke file
echo "### ${nama}_${waktu}_${tanggal}" >> /root/file_id.txt
echo "File ID: $file_id" >> /root/file_id.txt
echo "Server telah berhasil backup data pada tanggal $tanggal pukul $waktu." >> "/root/log-backup.txt"
sleep 1
rm -rf /root/backup &> /dev/null
rm -f $curdir &> /dev/null
profile
