MCPcopy Create free account
hub / github.com/GlobalTechInfo/MEGA-MD / handler

Function handler

plugins/groupinfo.js:8–53  ·  view source on GitHub ↗
(sock, message, args, context)

Source from the content-addressed store, hash-verified

6 usage: '.groupinfo',
7 groupOnly: true,
8 async handler(sock, message, args, context) {
9 const { chatId, channelInfo } = context;
10 try {
11 const groupMetadata = await sock.groupMetadata(chatId);
12 let pp;
13 try {
14 pp = await sock.profilePictureUrl(chatId, 'image');
15 }
16 catch {
17 pp = 'https://i.imgur.com/2wzGhpF.jpeg';
18 }
19 const participants = groupMetadata.participants;
20 const groupAdmins = participants.filter((p) => p.admin);
21 const listAdmin = groupAdmins.map((v, i) => `${i + 1}. @${v.id.split('@')[0]}`).join('\n');
22 const owner = groupMetadata.owner || groupAdmins.find((p) => p.admin === 'superadmin')?.id || `${chatId.split('-')[0] }@s.whatsapp.net`;
23 const text = `
24┌──「 *INFO GROUP* 」
25▢ *♻️ID:*
26 • ${groupMetadata.id}
27▢ *🔖NAME* :
28• ${groupMetadata.subject}
29▢ *👥Members* :
30• ${participants.length}
31▢ *🤿Group Owner:*
32• @${owner.split('@')[0]}
33▢ *🕵🏻‍♂️Admins:*
34${listAdmin}
35
36▢ *📌Description* :
37 • ${groupMetadata.desc?.toString() || 'No description'}
38`.trim();
39 await sock.sendMessage(chatId, {
40 image: { url: pp },
41 caption: text,
42 mentions: [...groupAdmins.map((v) => v.id), owner],
43 ...channelInfo
44 });
45 }
46 catch (error) {
47 console.error('Error in groupinfo command:', error);
48 await sock.sendMessage(chatId, {
49 text: 'Failed to get group info!',
50 ...channelInfo
51 }, { quoted: message });
52 }
53 }
54};

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected