commands/settings_panel.js
javascript · 88 lines
1/**#command2name: settings_panel3answer: 4keyboard: 5parse_mode: html6aliases: 7allow_only_group: true8need_reply: false9is_web: 010#command**/11 12let chat_id = chat.id;13let userId = request.from.id;14 15// Strict Admin & Owner Check16let isAdmin = false;17try {18 let member = await Api.getChatMember({ chat_id: chat_id, user_id: userId });19 let status = member && (member.status || (member.result && member.result.status));20 if (status === "creator" || status === "administrator") { 21 isAdmin = true; 22 }23} catch(e) {}24 25if (!isAdmin) {26 try {27 Api.answerCallbackQuery({28 callback_query_id: request.id,29 text: "⚠️ Only admins can change group settings!",30 show_alert: true31 });32 } catch(e) {}33 return;34}35 36let data = params || "";37 38if (data.startsWith("toggle_")) {39 let moduleName = data.replace("toggle_", "");40 let propKey = moduleName + "_" + chat_id;41 let current = Bot.getProperty(propKey, moduleName === "welcome" ? "on" : "off");42 let next = (current && current.toString().toLowerCase() === "on") ? "off" : "on";43 Bot.setProperty(propKey, next, "string");44}45 46let linkVal = Bot.getProperty("antilink_" + chat_id, "off");47let linkStatus = (linkVal && linkVal.toString().toUpperCase() === "ON") ? "🟢 ON" : "🔴 OFF";48 49let fwdVal = Bot.getProperty("antiforward_" + chat_id, "off");50let fwdStatus = (fwdVal && fwdVal.toString().toUpperCase() === "ON") ? "🟢 ON" : "🔴 OFF";51 52let nsfwVal = Bot.getProperty("antisns_" + chat_id, "off");53let nsfwStatus = (nsfwVal && nsfwVal.toString().toUpperCase() === "ON") ? "🟢 ON" : "🔴 OFF";54 55let welcomeVal = Bot.getProperty("welcome_" + chat_id, "on");56let welcomeStatus = (welcomeVal && welcomeVal.toString().toUpperCase() === "ON") ? "🟢 ON" : "🔴 OFF";57 58let raidVal = Bot.getProperty("antiraid_" + chat_id, "off");59let raidStatus = (raidVal && raidVal.toString().toUpperCase() === "ON") ? "🟢 ON" : "🔴 OFF";60 61let ik = [62 [{ text: "🔗 Anti-Link: " + linkStatus, callback_data: "settings_panel toggle_antilink" }],63 [{ text: "↗️ Anti-Forward: " + fwdStatus, callback_data: "settings_panel toggle_antiforward" }],64 [{ text: "🔞 Anti-NSFW: " + nsfwStatus, callback_data: "settings_panel toggle_antisns" }],65 [{ text: "👋 Welcome Msg: " + welcomeStatus, callback_data: "settings_panel toggle_welcome" }],66 [{ text: "🛡️ Anti-Raid Mode: " + raidStatus, callback_data: "settings_panel toggle_antiraid" }],67 [{ text: "🔄 Refresh Panel", callback_data: "settings_panel refresh" }]68];69 70if (request.message) {71 try {72 Api.editMessageText({73 chat_id: chat_id,74 message_id: request.message.message_id,75 text: "⚙️ <b>Advanced Group Security & Management Panel</b>\n\nManage modules below:",76 parse_mode: "HTML",77 reply_markup: { inline_keyboard: ik }78 });79 } catch(e) {}80}81 82try {83 Api.answerCallbackQuery({84 callback_query_id: request.id,85 text: "Settings updated!",86 show_alert: false87 });88} catch(e) {}