Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { generateWAMessage, STORIES_JID } = require("@adiwajshing/baileys");
- exports.run = {
- usage: ['upswtag'],
- category: 'owner',
- async: async (m, { client, body, groupSet, Func, command, isPrefix, text }) => {
- // Function to fetch all participants from given group IDs
- var fetchParticipants = async (...jids) => {
- var results = [];
- for (var jid of jids) {
- var { participants } = await client.groupMetadata(jid);
- participants = participants.map(({ id }) => id);
- results = results.concat(participants);
- }
- return results;
- };
- // Function to send a status message with mentions
- var mstatus = async (jids, content) => {
- var msg = await generateWAMessage(STORIES_JID, content, {
- upload: client.waUploadToServer
- });
- var statusJidList = [];
- for (var _jid of jids) {
- if (_jid.endsWith("@g.us")) {
- var groupParticipants = await fetchParticipants(_jid);
- statusJidList.push(...groupParticipants);
- } else {
- statusJidList.push(_jid);
- }
- }
- statusJidList = [...new Set(statusJidList)];
- await client.relayMessage(msg.key.remoteJid, msg.message, {
- messageId: msg.key.id,
- statusJidList,
- additionalNodes: [{
- tag: "meta",
- attrs: {},
- content: [{
- tag: "mentioned_users",
- attrs: {},
- content: jids.map((jid) => ({
- tag: "to",
- attrs: { jid },
- content: undefined
- }))
- }]
- }]
- });
- for (var jid of jids) {
- var type = jid.endsWith("@g.us") ? "groupStatusMentionMessage" : "statusMentionMessage";
- await client.relayMessage(jid, {
- [type]: {
- message: {
- protocolMessage: {
- key: msg.key,
- type: 25
- }
- }
- }
- }, {
- additionalNodes: [{
- tag: "meta",
- attrs: { is_status_mention: "true" },
- content: undefined
- }]
- });
- }
- return msg;
- };
- try {
- var q = m.quoted ? m.quoted : m;
- var mime = (q.msg || q).mimetype || '';
- var content = {};
- if (mime) {
- var media = await q.download();
- if (/image/.test(mime)) {
- content.image = media;
- } else if (/video/.test(mime)) {
- content.video = media;
- } else if (/audio/.test(mime)) {
- content.audio = media;
- } else {
- throw new Error("Jenis file tidak didukung!");
- }
- if (q.text) content.caption = q.text;
- } else if (text && text.trim().length > 0) {
- content.text = text;
- } else {
- throw new Error(`Reply media atau masukkan Text\nContoh:\n${isPrefix + command} halo guys`);
- }
- var sentMessage = await mstatus([m.chat], content);
- client.reply(m.chat, `✅ *Status berhasil dikirim!*\n\`\`\`${JSON.stringify(sentMessage, null, 2)}\`\`\``, m);
- } catch (e) {
- client.reply(m.chat, Func.jsonFormat(e), m);
- }
- },
- owner: true,
- group: true
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement