33 lines
986 B
JavaScript
33 lines
986 B
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
const TelegramBot = require("node-telegram-bot-api");
|
|
|
|
const TOKEN = process.env.TELEGRAM_TOKEN;
|
|
const CHAT_ID = process.env.CHAT_ID;
|
|
const DB_PATH = process.env.DATABASE_PATH || "../";
|
|
const FILE = path.join(DB_PATH, "database.sqlite");
|
|
|
|
const bot = new TelegramBot(TOKEN, { polling: false });
|
|
|
|
class Backup {
|
|
async database() {
|
|
try {
|
|
if (!fs.existsSync(FILE)) {
|
|
console.log("❌ Файл бази даних не знайдено:", FILE);
|
|
return;
|
|
}
|
|
|
|
console.log(`📤 Надсилаю файл: ${FILE}`);
|
|
|
|
await bot.sendDocument(CHAT_ID, fs.createReadStream(FILE), {
|
|
caption: "📦 Резервна копія бази даних",
|
|
});
|
|
|
|
console.log("✅ Файл успішно надіслано!");
|
|
} catch (err) {
|
|
console.error("❌ Помилка при надсиланні файлу:", err.message);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = new Backup(); |