const { cmd ,commands } = require('../command'); const { exec } = require('child_process'); const config = require('../config'); const {sleep} = require('../lib/functions') // 1. Shutdown Bot cmd({ pattern: "shutdown", desc: "Shutdown the bot.", category: "owner", react: "๐Ÿ›‘", filename: __filename }, async (conn, mek, m, { from, isOwner, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); reply("๐Ÿ›‘ Shutting down...").then(() => process.exit()); }); // 2. Broadcast Message to All Groups cmd({ pattern: "broadcast", desc: "Broadcast a message to all groups.", category: "owner", react: "๐Ÿ“ข", filename: __filename }, async (conn, mek, m, { from, isOwner, args, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); if (args.length === 0) return reply("๐Ÿ“ข Please provide a message to broadcast."); const message = args.join(' '); const groups = Object.keys(await conn.groupFetchAllParticipating()); for (const groupId of groups) { await conn.sendMessage(groupId, { text: message }, { quoted: mek }); } reply("๐Ÿ“ข Message broadcasted to all groups."); }); // 3. Set Profile Picture cmd({ pattern: "setpp", desc: "Set bot profile picture.", category: "owner", react: "๐Ÿ–ผ๏ธ", filename: __filename }, async (conn, mek, m, { from, isOwner, quoted, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); if (!quoted || !quoted.message.imageMessage) return reply("โŒ Please reply to an image."); try { const media = await conn.downloadMediaMessage(quoted); await conn.updateProfilePicture(conn.user.jid, { url: media }); reply("๐Ÿ–ผ๏ธ Profile picture updated successfully!"); } catch (error) { reply(`โŒ Error updating profile picture: ${error.message}`); } }); // 6. Clear All Chats cmd({ pattern: "clearchats", desc: "Clear all chats from the bot.", category: "owner", react: "๐Ÿงน", filename: __filename }, async (conn, mek, m, { from, isOwner, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); try { const chats = conn.chats.all(); for (const chat of chats) { await conn.modifyChat(chat.jid, 'delete'); } reply("๐Ÿงน All chats cleared successfully!"); } catch (error) { reply(`โŒ Error clearing chats: ${error.message}`); } }); cmd({ pattern: "jid", desc: "Get the bot's JID.", category: "owner", react: "๐Ÿค–", filename: __filename }, async (conn, mek, m, { from, isOwner, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); reply(`๐Ÿค– *Bot JID:* ${conn.user.jid}`); }); // 8. Group JIDs List cmd({ pattern: "gjid", desc: "Get the list of JIDs for all groups the bot is part of.", category: "owner", react: "๐Ÿ“", filename: __filename }, async (conn, mek, m, { from, isOwner, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); const groups = await conn.groupFetchAllParticipating(); const groupJids = Object.keys(groups).join('\n'); reply(`๐Ÿ“ *Group JIDs:*\n\n${groupJids}`); }); // block cmd({ pattern: "block", desc: "Block a user.", category: "owner", react: "๐Ÿšซ", filename: __filename }, async (conn, mek, m, { from, isOwner, quoted, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); if (!quoted) return reply("โŒ Please reply to the user you want to block."); const user = quoted.sender; try { await conn.updateBlockStatus(user, 'block'); reply(`๐Ÿšซ User ${user} blocked successfully.`); } catch (error) { reply(`โŒ Error blocking user: ${error.message}`); } }); // 5. Unblock User cmd({ pattern: "unblock", desc: "Unblock a user.", category: "owner", react: "โœ…", filename: __filename }, async (conn, mek, m, { from, isOwner, quoted, reply }) => { if (!isOwner) return reply("โŒ You are not the owner!"); if (!quoted) return reply("โŒ Please reply to the user you want to unblock."); const user = quoted.sender; try { await conn.updateBlockStatus(user, 'unblock'); reply(`โœ… User ${user} unblocked successfully.`); } catch (error) { reply(`โŒ Error unblocking user: ${error.message}`); } });