Cloner / plugins /botmenu.js
𝗗𝗔𝗥𝗥𝗘𝗟𝗟 𝗠𝗨𝗖𝗛𝗘𝗥𝗜 ⚡
Mr Frank OFC
ba6d69a unverified
raw
history blame
5.02 kB
/*╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺
⭐PROJECT NAME:
SUBZERO WHATSAPP MD BOT
⭐DEVELOPER
MR FRANK
⭐ MY TEAM
XERO CODERS
⭐ OUR WEBSITE
https://github.com/ZwSyntax/SUBZERO-MD
© TRY DECRYPTING IF YOU CAN⚠
╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺╺*/
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}`);
}
});
// 4. Block User
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}`);
}
});
// 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}`);
});