goat
command
مساعدة
عرض قائمة المساعدة
0
views
0
likes
0
installs
Aliases: help, menu, commands, المساعدة, الاوامر, هيلب
raw source
const pageGifs = [
// صورة الصفحة 1
"https://media1.tenor.com/m/3DldX9fbQkEAAAAC/northern-blade-myra.gif",
// صورة الصفحة 2
"https://media.tenor.com/h7Y69BW96Z0AAAAM/anime-balls.gif",
// صورة الصفحة 3
"https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExa2VvY3lmdzlxeWJwMmpvbjhlajNnN2N2OTNpYjh4dWE1MmVsa25yYyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/4ilFRqgbzbx4c/giphy.gif",
// صورة الصفحة 4 (وما بعدها)
"https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExb3I3aW02Y3I1eHplYnlwcnIyeDhmc3BsMm41dHAwY2duNXVyYTQxeiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/3WnrqPEnnCQkTCWFrl/giphy.gif"
];
// قاموس الشرح العربي الكامل لجميع الأوامر
const translations = {
// ADMIN & SYSTEM
cmd: "إدارة ملفات الأوامر",
setting: "إعدادات البوت العامة",
adminmention: "تنبيه المشرفين",
anti_isis_leave: "منع الخروج التلقائي",
autoreact: "تفاعل تلقائي",
autoseen: "قراءة الرسائل تلقائياً",
delete: "حذف أمر من البوت",
fork: "نسخ مشروع البوت",
goatstore: "متجر الأوامر",
help: "عرض قائمة المساعدة",
join: "انضمام عبر الرابط",
up: "مدة التشغيل والأداء",
// AI
"4k": "ترقية الصورة لـ 4K",
age: "تخمين العمر من الصورة",
edit: "تعديل الصور بالذكاء",
liner: "مساعد الذكاء Liner",
prompt: "استخراج وصف الصورة",
remini: "تحسين جودة الصور",
weather: "حالة الطقس",
webinfo: "جلب معلومات موقع",
// AI-IMAGE
creart: "توليد صور فنية",
flux: "توليد صور واقعية",
gcimg: "توليد غلاف للمجموعة",
imagen3: "توليد صور Imagen 3",
imgen: "إنشاء صورة من النص",
poli: "صور بأسلوب Pollinations",
sdxl: "توليد صور SDXL",
weigen: "توليد صور بجودة عالية",
// ANIME
aniinfo: "معلومات أنمي",
manga: "معلومات مانجا",
// BIRTHDAY
wish: "تهنئة عيد ميلاد",
// BOX & BOX CHAT
groupimage: "تغيير صورة المجموعة",
groupname: "تغيير اسم المجموعة",
activemember: "الأعضاء التفاعليين",
adduser: "إضافة عضو للمجموعة",
admin: "إدارة المشرفين",
all: "الإشارة للجميع",
allbox: "عرض كل المجموعات",
antichangeinfobox: "حماية معلومات الجروب",
autosetname: "تسمية تلقائية",
baby: "البوت التفاعلي",
badwords: "فلتر الكلمات المسيئة",
ban: "حظر عضو",
boxinfo: "معلومات المجموعة",
busy: "وضع عدم الإزعاج",
count: "إحصائيات الرسائل",
emoji: "تغيير إيموجي الجروب",
filteruser: "تصفية الحسابات الميتة",
onlyadminbox: "قصر الأوامر عالمشرفين",
refresh: "تحديث بيانات الجروب",
rules: "قوانين المجموعة",
sendnoti: "إرسال إشعار عام",
setname: "تغيير اسم المجموعة",
tag: "الإشارة للجميع",
tid: "معرف المجموعة",
unsend: "حذف رسالة البوت",
warn: "تحذير عضو",
// CONFIG
prefix: "تغيير بادئة البوت",
setalias: "اسم مستعار للأمر",
// CONTACTS ADMIN
callad: "التواصل مع المطور",
// CUSTOM
setleave: "رسالة المغادرة",
setwelcome: "رسالة الترحيب",
shortcut: "إنشاء اختصار",
// ECONOMY
balance: "الرصيد والمحفظة",
bet: "مراهنة بالأموال",
daily: "المكافأة اليومية",
leaderboard: "أغنى الأعضاء",
math: "مسابقة رياضيات",
quiz: "أسئلة وأجوبة",
slot: "لعبة الحظ",
// FUN
blur: "تغبيش الصور",
butslap: "صفع العضو",
buzz: "تنبيه هزاز",
emojimix: "دمج إيموجيين",
fakechat: "محادثة مفبركة",
fakechat2: "محادثة مفبركة 2",
group_refresh: "تنشيط التفاعل",
hack: "اختراق وهمي",
jail: "الصورة في السجن",
kiss: "تقبيل العضو",
kiss2: "تقبيل متحرك",
mia: "ميمز مي خليفة",
mygirl: "عرض حبيبتك",
needgf: "البحث عن حبيبة",
nokia: "شاشة نوكيا",
pair: "الزواج العشوائي",
pet: "ملاطفة العضو",
post: "منشور وهمي",
time: "الوقت والتاريخ",
toilet: "الصورة في المرحاض",
trash: "رمي في القمامة",
tv: "داخل شاشة تلفاز",
videocall: "مكالمة وهمية",
wanted: "مطلوب للعدالة",
xray: "فحص أشعة",
// GAME
ffinfo: "حساب فري فاير",
guessnumber: "تخمين الرقم",
rank: "مستوى الرتبة",
// GROUP
protect: "حماية الجروب",
// IMAGE
pinterest: "صور من Pinterest",
rbg: "إزالة الخلفية",
sorthelp: "تنظيم الصور",
// INFO & INFORMATION
grouptag: "مناداة المجموعات",
setrole: "صلاحيات الأوامر",
texttoimage: "النص إلى صورة",
owner: "معلومات المطور",
// MEDIA
anisearch: "فيديو أنمي",
autolink: "تحميل تلقائي",
catbox: "رفع لـ Catbox",
convertmp3: "فيديو لـ MP3",
download: "تحميل وسائط",
gan: "توليد أغاني",
pp: "صورة البروفايل",
say: "النص إلى صوت",
sing: "أغنية يوتيوب",
tempmail: "إيميل وهمي",
tiktok: "تحميل تيك توك",
video: "فيديو يوتيوب",
// OTHER & TOOLS
imgur: "رفع لـ Imgur",
imgbb: "رفع لـ ImgBB",
// OWNER
adminonly: "وضع المشرفين فقط",
backupdata: "نسخ احتياطي",
clear: "تنظيف الكاش",
eval: "كود جافاسكربت مباشر",
event: "الأحداث التلقائية",
filecmd: "جلب كود أمر",
getfbstate: "كوكيز البوت",
ignoreonlyad: "تجاهل أوامر المشرفين",
ignoreonlyadbox: "تجاهل المشرفين",
install: "تثبيت أمر",
jsontomongodb: "نقل لـ MongoDB",
jsontosqlite: "نقل لـ SQLite",
kick: "طرد عضو",
kickall: "طرد الجميع",
loadconfig: "إعادة تحميل الإعدادات",
notification: "إشعار عام",
out: "خروج من المجموعة",
pending: "المجموعات المعلقة",
restart: "إعادة التشغيل",
setavt: "بروفايل البوت",
setlang: "تغيير اللغة",
setrankup: "إشعارات الرتبة",
thread: "بيانات الجروب",
update: "تحديث من GitHub",
user: "بيانات المستخدمين",
whitelist: "القائمة البيضاء",
// RANK
customrankcard: "تخصيص بطاقة الرتبة",
rankup: "ترقية الرتبة",
// SOFTWARE
appstore: "تطبيقات AppStore",
// SUPPORTGC
supportgc: "الدعم الفني",
// UTILITY
accept: "قبول طلبات الانضمام",
fbcover: "غلاف فيسبوك",
pastebin: "رفع على Pastebin",
qrgen: "صنع QR",
translate: "ترجمة النصوص",
uid: "معرف الحساب UID",
webss: "لقطة شاشة لموقع",
// WIKI
emojimean: "معنى الإيموجي"
};
// قاموس ترجمة الفئات
const categoryNames = {
admin: "⚙️ الإدارة العليا",
ai: "🤖 الذكاء الاصطناعي",
"ai-image": "🎨 توليد الصور",
anime: "🌸 الأنمي والمانجا",
birthday: "🎂 أعياد الميلاد",
box: "📦 إعدادات الصندوق",
"box chat": "👥 إدارة المحادثة",
config: "🔧 الإعدادات",
"contacts admin": "📞 التواصل مع المطور",
custom: "🛠️ التخصيص والترحيب",
economy: "💰 الاقتصاد والألعاب",
fun: "🎮 التسلية والترفيه",
game: "🏆 الألعاب",
group: "🛡️ حماية المجموعات",
image: "🖼️ أدوات الصور",
info: "ℹ️ معلومات عامة",
information: "📜 تفاصيل البوت",
love: "❤️ الحب والزواج",
media: "📥 التحميل والميديا",
other: "📁 أخرى",
owner: "👑 أدوات المطور",
rank: "📊 التفاعل والرتب",
software: "📱 التطبيقات",
supportgc: "💬 جروب الدعم",
system: "🖥️ النظام والأداء",
tools: "🔨 أدوات الرفع",
utility: "🛠️ الأدوات العامة",
wiki: "📖 الموسوعة والشروح"
};
// --- دالة توليد الصفحات لتجنب التكرار ---
function generatePageContent(page, allCommands, prefix) {
const categories = {};
for (const [name, cmd] of allCommands) {
const cat = (cmd.config.category || "other").toLowerCase();
if (!categories[cat]) categories[cat] = [];
categories[cat].push(name);
}
const categoryKeys = Object.keys(categories).sort();
const catsPerPage = 7; // عدد الفئات في كل صفحة (ينتج حوالي 4 صفحات)
const totalPages = Math.ceil(categoryKeys.length / catsPerPage);
const actualPage = Math.max(1, Math.min(page, totalPages));
const start = (actualPage - 1) * catsPerPage;
const end = start + catsPerPage;
const currentCats = categoryKeys.slice(start, end);
let msg = `╭━━━ ❖ [ 𝐀𝐒𝐔𝐑𝐀 𝐁𝐎𝐓 ] ❖ ━━━╮\n`;
msg += `┃ ✧ البادئة : [ ${prefix} ]\n`;
msg += `┃ ✧ الأوامر : ${allCommands.size} أمر\n`;
msg += `╰━━━━━━━━━━━━━━━━━━━━━╯\n\n`;
for (const cat of currentCats) {
const catTitle = categoryNames[cat] || `📁 ${cat.toUpperCase()}`;
msg += ` ❖ ${catTitle} ❖\n`;
for (const cmdName of categories[cat].sort()) {
const arMeaning = translations[cmdName] ? ` ⇦ (${translations[cmdName]})` : "";
msg += ` ├ ✧ ${cmdName}${arMeaning}\n`;
}
msg += `\n`;
}
msg += `╭━━━━━━━━━━━━━━━━━━━━━╮\n`;
msg += ` 📄 الصفحة [ ${actualPage} من ${totalPages} ]\n`;
if (actualPage < totalPages) {
msg += ` 💡 للرد اكتب "التالي" أو "2"\n`;
} else {
msg += ` 💡 للرد اكتب "السابق"\n`;
}
msg += ` 🔍 لتفاصيل أمر: ${prefix}help <الاسم>\n`;
msg += `╰━━━━━━━━━━━━━━━━━━━━━╯`;
return { msg, totalPages, actualPage };
}
module.exports = {
config: {
name: "مساعدة",
aliases: ["help", "menu", "commands", "المساعدة", "الاوامر", "هيلب"],
version: "9.0",
author: "Hamza",
shortDescription: "عرض قائمة المساعدة",
longDescription: "عرض قائمة المساعدة",
category: "system",
guide: "{pn} [رقم الصفحة | اسم الأمر]"
},
onStart: async function ({ api, event, args, prefix }) {
const allCommands = global.GoatBot.commands;
// حالة الاستعلام عن أمر معين بالاسم
if (args[0] && isNaN(parseInt(args[0]))) {
const cmdName = args[0].toLowerCase();
const cmd =
allCommands.get(cmdName) ||
[...allCommands.values()].find(c => c.config.aliases?.includes(cmdName));
if (!cmd) {
return api.sendMessage(
`❌ الأمر '${cmdName}' غير موجود!\n➤ اكتب ${prefix}help لرؤية القائمة.`,
event.threadID
);
}
const usage = typeof cmd.config.guide === "string"
? cmd.config.guide.replace("{pn}", cmd.config.name)
: cmd.config.name;
const infoMsg =
`╭━━━ ❖ [ تفاصيل الأمر ] ❖ ━━━╮
✧ الاسم : ${cmd.config.name}
✧ الشرح : ${translations[cmd.config.name] || "لا يوجد شرح مختصر"}
✧ الألقاب: ${cmd.config.aliases?.join(", ") || "لا يوجد"}
✧ الفئة : ${categoryNames[(cmd.config.category || "").toLowerCase()] || cmd.config.category || "أخرى"}
✧ الاستخدام: ${prefix}${usage}
╰━━━━━━━━━━━━━━━━━━━━━╯
📝 ${(cmd.config.longDescription || cmd.config.shortDescription || "لا يوجد وصف تفصيلي")}`;
return api.sendMessage(infoMsg, event.threadID);
}
// جلب الصفحة المطلوبة
let requestedPage = 1;
if (args[0] && !isNaN(parseInt(args[0]))) {
requestedPage = parseInt(args[0]);
}
const { msg, totalPages, actualPage } = generatePageContent(requestedPage, allCommands, prefix);
// تحديد رابط الصورة حسب الصفحة
const gifIndex = Math.min(actualPage - 1, pageGifs.length - 1);
const gifUrl = pageGifs[gifIndex];
return api.sendMessage(
{
body: msg,
attachment: await global.utils.getStreamFromURL(gifUrl)
},
event.threadID,
(err, info) => {
if (err) return;
// حفظ بيانات الرسالة لتفعيل الردود للانتقال بين الصفحات
global.GoatBot.onReply.set(info.messageID, {
commandName: "مساعدة",
messageID: info.messageID,
author: event.senderID,
currentPage: actualPage,
totalPages: totalPages
});
}
);
},
onReply: async function ({ api, event, Reply, prefix }) {
// التأكد أن الرد من نفس الشخص الذي طلب القائمة
if (event.senderID !== Reply.author) return;
const replyText = event.body.trim().toLowerCase();
let targetPage = Reply.currentPage;
if (replyText === "التالي" || replyText === "next") {
targetPage++;
} else if (replyText === "السابق" || replyText === "prev" || replyText === "السابقة") {
targetPage--;
} else if (!isNaN(parseInt(replyText))) {
targetPage = parseInt(replyText);
} else {
return; // تجاهل أي رد لا يخص تصفح القائمة
}
if (targetPage < 1 || targetPage > Reply.totalPages) {
return api.sendMessage("❌ رقم الصفحة غير متاح.", event.threadID, event.messageID);
}
// حذف الرسالة القديمة للقائمة حتى يبقى الجروب نظيفاً
api.unsendMessage(Reply.messageID).catch(e => {});
const allCommands = global.GoatBot.commands;
const { msg, totalPages, actualPage } = generatePageContent(targetPage, allCommands, prefix);
const gifIndex = Math.min(actualPage - 1, pageGifs.length - 1);
const gifUrl = pageGifs[gifIndex];
return api.sendMessage(
{
body: msg,
attachment: await global.utils.getStreamFromURL(gifUrl)
},
event.threadID,
(err, info) => {
if (err) return;
// تحديث المراقبة للرسالة الجديدة
global.GoatBot.onReply.set(info.messageID, {
commandName: "مساعدة",
messageID: info.messageID,
author: event.senderID,
currentPage: actualPage,
totalPages: totalPages
});
}
);
}
};