نسخ ولصق شاو
javascriptv1MITنُشر ١٢ أكتوبر ٢٠٢٦· ♥ 0 · ⬇ 2 · 💬 0
بينسخ وصف وصورة واسم الجروب وبامر لصق يحطهم في جروب تاني
// ذاكرة مؤقتة لحفظ بيانات الجروب المنسوخ
let copiedGroupData = null;
export default {
command: ["نسخ", "لصق", "نسخ_الجروب", "clonegroup"],
category: "المشرفين",
description: "نسخ ولصق بيانات المجموعات بسهولة",
handler: async (...params) => {
const sock = params.find(p => p && typeof p.sendMessage === 'function');
const mek = params.find(p => p && p.key && p.message);
if (!sock || !mek) return;
const from = mek.key.remoteJid;
if (!from.endsWith("@g.us")) {
return await sock.sendMessage(from, { text: "⚠️ الأمر ده للمجموعات بس يا غالي." }, { quoted: mek });
}
const body = (mek.message?.conversation || mek.message?.extendedTextMessage?.text || "").trim();
const contextInfo = mek.message?.extendedTextMessage?.contextInfo;
// ==========================================
// 1. حالة الـ "نسخ" (حفظ البيانات)
// ==========================================
if (body.startsWith(".نسخ") && !body.startsWith(".نسخ_الجروب")) {
await sock.sendMessage(from, { react: { text: "⏳", key: mek.key } });
try {
const metadata = await sock.groupMetadata(from);
let ppUrl = null;
try {
ppUrl = await sock.profilePictureUrl(from, 'image');
} catch {}
copiedGroupData = {
name: metadata.subject,
desc: metadata.desc || "",
ppUrl: ppUrl
};
await sock.sendMessage(from, { react: { text: "📋", key: mek.key } });
return await sock.sendMessage(from, {
text: `✅ *تم نسخ بيانات الجروب بنجاح!*\n\n📌 *الاسم:* ${copiedGroupData.name}\n\nروح الجروب التاني واكتب *.لصق* لتطبيق البيانات.`
}, { quoted: mek });
} catch (e) {
await sock.sendMessage(from, { text: "❌ حصل خطأ أثناء نسخ بيانات الجروب." }, { quoted: mek });
}
}
// ==========================================
// 2. حالة الـ "لصق" (تطبيق البيانات الحالية)
// ==========================================
if (body.startsWith(".لصق")) {
if (!copiedGroupData) {
return await sock.sendMessage(from, { text: "⚠️ مفيش جروب منسوخ حالياً! ادخل الجروب الأول واكتب *.نسخ* الأول." }, { quoted: mek });
}
await sock.sendMessage(from, { react: { text: "⏳", key: mek.key } });
try {
// تغيير الاسم والوصف
await sock.groupUpdateSubject(from, copiedGroupData.name);
if (copiedGroupData.desc) {
await sock.groupUpdateDescription(from, copiedGroupData.desc);
}
// تغيير الصورة
if (copiedGroupData.ppUrl) {
await sock.updateProfilePicture(from, { url: copiedGroupData.ppUrl });
}
await sock.sendMessage(from, { react: { text: "✅", key: mek.key } });
return await sock.sendMessage(from, {
text: `✅ *تم لصق وتطبيق البيانات بنجاح!*\n\n📌 *الاسم الجديد:* ${copiedGroupData.name}`
}, { quoted: mek });
} catch (e) {
await sock.sendMessage(from, { text: "❌ فشل التعديل! تأكد إن البوت مشرف (Admin) في الجروب ده." }, { quoted: mek });
}
}
// ==========================================
// 3. حالة نسخ الجروب عبر الريبلاي (رد على رسالة محولة)
// ==========================================
if (body.startsWith(".نسخ_الجروب")) {
let targetJid = null;
// لو عملت ريبلاي على رسالة جاية من الجروب التاني
if (contextInfo?.participant) {
// استخراج JID من الرسالة المقتبسة لو كان شات جروب
targetJid = contextInfo.remoteJid || contextInfo.participant;
}
let args = params.find(p => Array.isArray(p));
if (!args) {
args = body.split(/\s+/).slice(1);
}
if (args[0] && args[0].endsWith("@g.us")) {
targetJid = args[0];
}
if (!targetJid || !targetJid.endsWith("@g.us")) {
return await sock.sendMessage(from, {
text: "⚠️ *طريقة الاستخدام:* \n1. ادخل الجروب الأول واكتب *.نسخ*\n2. روح الجروب التاني واكتب *.لصق*\n\nأو اعمل ريبلاي على رسالة من الجروب التاني واكتب *.نسخ_الجروب*"
}, { quoted: mek });
}
await sock.sendMessage(from, { react: { text: "⏳", key: mek.key } });
try {
const metadata = await sock.groupMetadata(targetJid);
await sock.groupUpdateSubject(from, metadata.subject);
if (metadata.desc) await sock.groupUpdateDescription(from, metadata.desc);
try {
const ppUrl = await sock.profilePictureUrl(targetJid, 'image');
if (ppUrl) await sock.updateProfilePicture(from, { url: ppUrl });
} catch {}
await sock.sendMessage(from, { react: { text: "✅", key: mek.key } });
await sock.sendMessage(from, { text: `✅ تم نقل بيانات الجروب (${metadata.subject}) بنجاح!` }, { quoted: mek });
} catch (e) {
await sock.sendMessage(from, { text: "❌ فشل النسخ، تأكد إن البوت مشرف هنا وموجود في الجروب التاني." }, { quoted: mek });
}
}
}
};
التعليقات (0)
سجّل الدخول للتعليق.