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

Function handler

plugins/hidetag.js:25–83  ·  view source on GitHub ↗
(sock, message, args, context)

Source from the content-addressed store, hash-verified

23 groupOnly: true,
24 adminOnly: true,
25 async handler(sock, message, args, context) {
26 const chatId = context.chatId || message.key.remoteJid;
27 const isBotAdmin = context.isBotAdmin;
28 const rawText = context.rawText || '';
29 const messageText = rawText.slice(8).trim();
30 if (!isBotAdmin) {
31 await sock.sendMessage(chatId, {
32 text: '❌ *Please make the bot an admin first*'
33 }, { quoted: message });
34 return;
35 }
36 const groupMetadata = await sock.groupMetadata(chatId);
37 const participants = groupMetadata.participants || [];
38 const nonAdmins = participants.filter((p) => !p.admin).map((p) => p.id);
39 const replyMessage = message.message?.extendedTextMessage?.contextInfo?.quotedMessage;
40 if (replyMessage) {
41 let content = {};
42 if (replyMessage.imageMessage) {
43 const filePath = await downloadMediaMessage(replyMessage.imageMessage, 'image');
44 content = {
45 image: { url: filePath },
46 caption: messageText || replyMessage.imageMessage.caption || '',
47 mentions: nonAdmins
48 };
49 }
50 else if (replyMessage.videoMessage) {
51 const filePath = await downloadMediaMessage(replyMessage.videoMessage, 'video');
52 content = {
53 video: { url: filePath },
54 caption: messageText || replyMessage.videoMessage.caption || '',
55 mentions: nonAdmins
56 };
57 }
58 else if (replyMessage.conversation || replyMessage.extendedTextMessage) {
59 content = {
60 text: replyMessage.conversation || replyMessage.extendedTextMessage.text,
61 mentions: nonAdmins
62 };
63 }
64 else if (replyMessage.documentMessage) {
65 const filePath = await downloadMediaMessage(replyMessage.documentMessage, 'document');
66 content = {
67 document: { url: filePath },
68 fileName: replyMessage.documentMessage.fileName,
69 caption: messageText || '',
70 mentions: nonAdmins
71 };
72 }
73 if (Object.keys(content).length > 0) {
74 await sock.sendMessage(chatId, content);
75 }
76 }
77 else {
78 await sock.sendMessage(chatId, {
79 text: messageText || '📢 *Announcement for all members*',
80 mentions: nonAdmins
81 });
82 }

Callers

nothing calls this directly

Calls 1

downloadMediaMessageFunction · 0.70

Tested by

no test coverage detected