goat
command
gcinfo
Stylish group info
0
views
0
likes
0
installs
raw source
module.exports = {
config: {
name: "gcinfo",
version: "1.4",
author: "Toshiro Editz",
role: 0,
shortDescription: "Stylish group info",
category: "box chat",
guide: "{pn}"
},
onStart: async function ({ api, event, usersData }) {
const threadID = event.threadID;
if (!event.isGroup)
return api.sendMessage("❌ | This command works only in groups.", threadID);
try {
const info = await api.getThreadInfo(threadID);
const groupName = info.threadName || "Unnamed Group";
const members = info.participantIDs.length;
const admins = info.adminIDs.length;
const emoji = info.emoji || "🌐";
const approval = info.approvalMode ? "𝗢𝗡 ✅" : "𝗢𝗙𝗙 ❌";
let male = 0, female = 0, unknown = 0;
for (const uid of info.participantIDs) {
try {
const data = await usersData.get(uid);
const gender = data?.gender;
if (gender == 2 || gender == "MALE") male++;
else if (gender == 1 || gender == "FEMALE") female++;
else unknown++;
} catch {
unknown++;
}
}
// ✅ Admin Names
let adminNames = [];
for (const admin of info.adminIDs) {
try {
const name = await usersData.getName(admin.id);
adminNames.push(`👑 ${name}`);
} catch {
adminNames.push("👑 Unknown Admin");
}
}
// ✅ Group Picture
let attachment = null;
try {
const picURL = `https://graph.facebook.com/${threadID}/picture?width=512&height=512`;
attachment = await global.utils.getStreamFromURL(picURL);
} catch {}
const msg =
`╭─❍ 「 𝗚𝗥𝗢𝗨𝗣 𝗜𝗡𝗙𝗢 」 ❍─╮
│
│ 🏷️ 𝗡𝗮𝗺𝗲 ➤ ${groupName}
│ ${emoji} 𝗘𝗺𝗼𝗷𝗶 ➤ ${emoji}
│
│ 👥 𝗠𝗲𝗺𝗯𝗲𝗿𝘀 ➤ ${members}
│ 🛡️ 𝗔𝗱𝗺𝗶𝗻𝘀 ➤ ${admins}
│
│ 👦 𝗠𝗮𝗹𝗲 ➤ ${male}
│ 👧 𝗙𝗲𝗺𝗮𝗹𝗲 ➤ ${female}
│ ❓ 𝗨𝗻𝗸𝗻𝗼𝘄𝗻 ➤ ${unknown}
│
│ ✅ 𝗔𝗽𝗽𝗿𝗼𝘃𝗮𝗹 ➤ ${approval}
│
├───────────────
│ 👑 𝗔𝗗𝗠𝗜𝗡𝗦
${adminNames.map(n => `│ ${n}`).join("\n")}
│
╰───────────────╯`;
api.sendMessage(
attachment ? { body: msg, attachment } : msg,
threadID
);
} catch (err) {
console.error("GCINFO ERROR:", err);
api.sendMessage("❌ | Failed to fetch group info.", threadID);
}
}
};