const fs = require('fs-extra'); const path = require('path'); const { execSync } = require('child_process'); /** * Script ini mendeteksi jika ada data sesi di Environment Variable * dan mengembalikannya ke folder ./session sebelum bot dijalankan. */ async function syncSession() { const sessionB64 = process.env.SESSION_DATA; const sessionPath = path.join(__dirname, 'session'); if (sessionB64 && sessionB64.length > 100) { console.log("Mendeteksi SESSION_DATA dari Secret... Mengekstrak..."); try { const zipPath = path.join(__dirname, 'session.zip'); fs.writeFileSync(zipPath, Buffer.from(sessionB64, 'base64')); // Ekstrak menggunakan unzip (tersedia di Linux HF) fs.ensureDirSync(sessionPath); execSync(`unzip -o ${zipPath} -d .`); fs.unlinkSync(zipPath); console.log("Sesi berhasil dipulihkan!"); } catch (error) { console.error("Gagal mengekstrak sesi:", error.message); } } else { console.log("Tidak ada SESSION_DATA ditemukan. Memulai sesi baru."); } } syncSession();