SUBZERO-MD / plugins /owners-tools.js
mrfrank-ofc's picture
Upload 63 files
8d8b0ad verified
raw
history blame
4.42 kB
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}`);
}
});