استبدال الكلمات
javascriptv1MITنُشر ٢٦ سبتمبر ٢٠٢٦· ♥ 0 · ⬇ 1 · 💬 0
استبدال الكلمات الي في البوت
// plugins/replace.js
// ⛈️ Raiden Shogun - استبدال نص تلقائي 🔄
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
// عشان نحصل __dirname بنمط ES module
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
console.log('✅ بلوجين .بدل (ESM) تم تحميله');
const handler = async (m, { text, command }) => {
// لو عايز تخليه للمطور فقط احذف السطرين دول وخلي handler.owner = true شغال تحت
const allowedNumber = '201130445818@s.whatsapp.net';
if (m.sender !== allowedNumber) {
await m.reply('❌ هذا الأمر غير مسموح لك.');
return;
}
console.log(`📌 تم استقبال الأمر: ${command} | نص: ${text}`);
if (!text || !text.includes('|')) {
await m.reply('⚡ *الاستخدام:*\n.بدل الكلمة القديمة | الكلمة الجديدة\nمثال:\n.بدل Cheon | Raiden');
return;
}
const [oldText, newText] = text.split('|').map(s => s.trim());
if (!oldText || !newText) {
await m.reply('❌ تأكد أنك كتبت الكلمتين بشكل صحيح مفصولتين بـ |');
return;
}
const pluginsDir = path.join(__dirname, '../plugins');
const rootDir = path.join(__dirname, '..');
let changedFiles = [];
let foundFiles = [];
function walkDir(dir) {
let files = fs.readdirSync(dir);
for (let file of files) {
let fullPath = path.join(dir, file);
try {
let stat = fs.statSync(fullPath);
if (stat.isDirectory()) {
if (['node_modules', '.git', 'session', 'auth'].includes(file)) continue;
walkDir(fullPath);
} else if (file.endsWith('.js') || file.endsWith('.json')) {
let content = fs.readFileSync(fullPath, 'utf8');
if (content.includes(oldText)) {
foundFiles.push(fullPath.replace(rootDir + path.sep, ''));
// استبدال آمن حتى لو فيه رموز
let escaped = oldText.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
let updatedContent = content.replace(new RegExp(escaped, 'g'), newText);
fs.writeFileSync(fullPath, updatedContent, 'utf8');
changedFiles.push(fullPath.replace(rootDir + path.sep, ''));
}
}
} catch {}
}
}
// هيبحث في البلوجنات بس لو عايزه يبحث في البوت كله غير السطر ده لـ walkDir(rootDir)
walkDir(pluginsDir);
if (changedFiles.length === 0) {
await m.reply(`ℹ️ لم يتم العثور على "${oldText}" في أي ملف.`);
} else {
await m.reply(`✅ *تم الاستبدال تلقائياً*\n\n🔍 *${oldText}* ➜ *${newText}*\n📁 *عدد الملفات:* ${changedFiles.length}\n\n📄 *الملفات:*\n${changedFiles.join('\n')}`);
console.log(`✅ تم التبديل في: ${changedFiles.join(', ')}`);
}
};
handler.command = /^(بدل|استبدال|replace)$/i;
handler.owner = true;
handler.tags = ['owner'];
handler.desc = 'يبدل نص معين في جميع كودات البلوجين تلقائيا';
export default handler;
التعليقات (0)
سجّل الدخول للتعليق.