(sock, message, args, context)
| 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 | }; |
nothing calls this directly
no outgoing calls
no test coverage detected