inmsuvo/pcvdbotPublic · Bot Template

ProfileTelegram

Advanced AI Group Security & Moderation Bot with Anti-Link, Anti-NSFW, Anti-Spam & Auto-Warn features.

Moderationmoderationantilinkantiforwardantisnsantispamwelcome
12 commands0 envUpdated 25d agoCreated Oct 2, 2026
Back to folder

commands/settings_panel.js

javascript · 88 lines

Raw
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) {}