tarunpoonia905/OfcDevShopBotPublic · Bot Template

ProfileTelegram

AIDEV SHOP appears to be a Telegram automation bot. Commands include /confirm_delete_stock, /addstock_id, /extkey_menu, /partner_api, /apidelete, /buy_hack_cat, /admin_manage_products, /check_buy. Observed in code: messaging, keyboards, payments, libs, web, http, games.

Utilityutility
228 commands0 envUpdated 12d agoCreated Oct 18, 2026
Back to folder

commands/_menu.js

javascript · 151 lines

Raw
1/**#command2name: /menu3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/*#SIZE_V1*/try{(function(){var z=Bot.getProperty("ui_btn_size");var mx=z==="large"?1:(z==="medium"?2:0);if(!mx||Api.__sz)return;var NAV=/^[◀▶⬅➡«»‹›⏪⏩]|\d+\s*\/\s*\d+|prev|next|page/i;var T=function(m){try{var o=typeof m==="string"?JSON.parse(m):m;if(!o||!o.inline_keyboard)return m;var out=[],cnt=0;o.inline_keyboard.forEach(function(row){var nav=row.some(function(b){return NAV.test(String(b.text||"").trim());});if(row.length<=mx||nav){out.push(row);cnt+=row.length;return;}for(var i=0;i<row.length;i+=mx){var c=row.slice(i,i+mx);out.push(c);cnt+=c.length;}});if(cnt>100||out.length>100)return m;o.inline_keyboard=out;return typeof m==="string"?JSON.stringify(o):o;}catch(e){return m;}};["sendMessage","editMessageText","editMessageCaption","editMessageReplyMarkup","sendPhoto","sendVideo","sendAnimation","sendDocument"].forEach(function(n){var f=Api[n];if(typeof f!=="function")return;Api[n]=function(p){try{if(p&&p.reply_markup)p.reply_markup=T(p.reply_markup);}catch(e){}return f.apply(Api,arguments);};});Api.__sz=true;})();}catch(__szE){}13/*#ANIM_V1*/try{(function(){var M={party:"5046509860389126442",fire:"5104841245755180586",heart:"5159385139981059251",like:"5107584321108051014"};var a=Bot.getProperty("ui_anim");if(!a||!M[a]||Api.__an)return;var E=M[a];var OK=/PURCHASE SUCCESSFUL|PAYMENT SUCCESSFUL|Payment verified|CONGRATULATIONS/i;var priv=function(p){return p&&p.chat_id&&String(p.chat_id).charAt(0)!=="-";};["sendMessage","sendPhoto","sendVideo","sendAnimation"].forEach(function(n){var f=Api[n];if(typeof f!=="function")return;Api[n]=function(p){try{if(priv(p)&&!p.message_effect_id&&OK.test(String(p.text||p.caption||"")))p.message_effect_id=E;}catch(e){}return f.apply(Api,arguments);};});var fe=Api.editMessageText;if(typeof fe==="function"){Api.editMessageText=function(p){var r=fe.apply(Api,arguments);try{if(priv(p)&&OK.test(String(p.text||"")))Api.sendMessage({chat_id:p.chat_id,text:"🎉",message_effect_id:E});}catch(e){}return r;};}Api.__an=true;})();}catch(__anE){}14/*#PREMIUM_UI_V1*/try{(function(){if(Bot.getProperty("ui_premium")!==true||Api.__pm)return;var R=function(t,c){var s=(String(t||"")+" "+String(c||"")).toLowerCase();if(/back|cancel|close|delete|remove|clear|reject|stop|ban|exit/.test(s))return"danger";if(/pay|buy|confirm|verify|paid|add|deposit|shop|claim|yes|receive|wallet|download|update/.test(s))return"success";return"primary";};var T=function(m){try{var o=typeof m==="string"?JSON.parse(m):m;if(!o||!o.inline_keyboard)return m;o.inline_keyboard.forEach(function(row){row.forEach(function(b){if(b.copy_text||b.url||b.callback_data||b.web_app){b.style=R(b.text,b.callback_data||b.url);if(!b.icon_custom_emoji_id&&b.text&&!/^[\u2600-\u27BF\uD83C-\uD83E]/.test(String(b.text).trim())&&!/^[✦✨💎]/.test(b.text))b.text="✦ "+b.text;}});});return typeof m==="string"?JSON.stringify(o):o;}catch(e){return m;}};["sendMessage","editMessageText","editMessageCaption","editMessageReplyMarkup","sendPhoto","sendVideo","sendAnimation","sendDocument"].forEach(function(n){var f=Api[n];if(typeof f!=="function")return;Api[n]=function(p){try{if(p&&p.reply_markup)p.reply_markup=T(p.reply_markup);}catch(e){}return f.apply(Api,arguments);};});Api.__pm=true;})();}catch(__pmE){}15 16 17// =========================================================18// 🏠 MEMBER MAIN SHOP MENU19// - Personalized welcome name20// - Owner-configurable store name21// - Download Files button is always LAST22// - Back returns to this same menu23// =========================================================24try {25  // 🧹 NAV-CLEAN: koi bhi navigation button (Back/Menu/Shop/Admin) dabane par purane26  // "agla message save karo" wale pending states hata do, taaki aalatu-faalatu27  // purana wizard/upload agle message ko na nigal le. Sirf button-press par chalta hai.28  try {29    if (typeof request !== "undefined" && request && (request.id || request.callback_query)) {30      ["shopmedia_step","wz_state","aiadd_state","set_payment_zapupi_step","set_zapupi_mobile_step",31       "extkey_url_step","extkey_apikey_step","extkey_master_step"].forEach(function (k) {32        try { if (User.getProperty(k)) User.setProperty(k, null, "json"); } catch (e0) {}33      });34      try { if (User.getProperty("ai_chat_active")) User.setProperty("ai_chat_active", false, "boolean"); } catch (e1) {}35    }36  } catch (navE) {}37  var userId = String(user.telegramid);38  var chatId = String(chat.chatid);39  var storeName = String(Bot.getProperty("store_name") || "DEV SHOP BOT");40  var firstName = String((user && user.first_name) || "User");41 42  // Basic HTML escaping for Telegram HTML parse mode.43  firstName = firstName.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");44  storeName = storeName.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");45 46  var resBal = 0;47  try { resBal = Number(Libs.ResourcesLib.userRes("balance").value()) || 0; } catch (e) {}48  var bonusBal = Number(Bot.getProperty("balance" + userId) || 0);49  var userBal = (resBal + bonusBal).toFixed(2);50 51  var welcomeMessage =52    "<tg-emoji emoji-id=\"6091170843080007327\">🛒</tg-emoji> ━━━━ <b>" + storeName + "</b> ━━━━ <tg-emoji emoji-id=\"6091170843080007327\">🛒</tg-emoji>\n\n" +53    "<tg-emoji emoji-id=\"6057721277001504261\">👑</tg-emoji> <b>Welcome, " + firstName + "!</b>\n\n" +54    "<tg-emoji emoji-id=\"6147565374289220368\">🔝</tg-emoji> <b>━━ STORE HIGHLIGHTS ━━</b> <tg-emoji emoji-id=\"6147565374289220368\">🔝</tg-emoji>\n\n" +55    "<tg-emoji emoji-id=\"6285210748184434476\">🎮</tg-emoji> Premium Game Keys\n" +56    "<tg-emoji emoji-id=\"6205981761353030383\">🐼</tg-emoji> Instant Delivery 24/7\n" +57    "<tg-emoji emoji-id=\"6055639815590781298\">💯</tg-emoji> 100% Secure Payment\n" +58    "<tg-emoji emoji-id=\"6059653892025618055\">🛍</tg-emoji> Best Prices Guaranteed\n" +59    "<tg-emoji emoji-id=\"6053197860395033789\">🇮🇳</tg-emoji> Safe And Trusted\n" +60    "<tg-emoji emoji-id=\"6208445114075847396\">✅</tg-emoji> Professional Support\n" +61    "─────────────────────\n" +62    "<tg-emoji emoji-id=\"6267068789146260253\">💰</tg-emoji> <b>Wallet Balance: ₹" + userBal + "</b>\n" +63    "─────────────────────\n\n" +64    "<tg-emoji emoji-id=\"6064280370667332428\">🔥</tg-emoji> <b>Tap Shop Now to Start!</b>";65 66  // ✏️ Admin-edited welcome text (admin panel -> Edit Welcome Text) default text ko override karta hai.67  var customWelcome = Bot.getProperty("custom_welcome_html");68  if (customWelcome && String(customWelcome).trim()) {69    welcomeMessage = String(customWelcome)70      .replace(/\{name\}/gi, firstName)71      .replace(/\{id\}/gi, userId)72      .replace(/\{balance\}/gi, "₹" + userBal)73      .replace(/\{store\}/gi, storeName);74  }75 76  var botDeepLink = "https://t.me/JASSMODZSHOP_BOT?start=_tgr_uXY38UUxODY9";77  var shareUrl = "https://t.me/share/url?url=" + encodeURIComponent(botDeepLink);78 79  var keyboard = [80    [{ text: "Shop / Store Product", callback_data: "/buy_hack", style: "danger", icon_custom_emoji_id: "6143444134125379822" }],81    [82      { text: "Add Balance", callback_data: "/addfund", style: "success", icon_custom_emoji_id: "5409048419211682843" },83      { text: "My Profile", callback_data: "/profile", style: "primary", icon_custom_emoji_id: "6091379307907652768" }84    ],85    [86      { text: "How To Use", callback_data: "/how", style: "primary", icon_custom_emoji_id: "5341357385279612709" },87      { text: "Lucky", callback_data: "/ludospin", style: "success", icon_custom_emoji_id: "6116155973510895366" }88    ],89    [90      { text: "Share", url: shareUrl, style: "primary", icon_custom_emoji_id: "6147534454819661264" },91      { text: "Support", callback_data: "/support", style: "primary", icon_custom_emoji_id: "6147817325660741985" }92    ],93    // DOWNLOAD FILES IS INTENTIONALLY THE LAST BUTTON.94    [{95      text: "Download File",96      callback_data: "/download_updates",97      style: "success",98      icon_custom_emoji_id: "6235683689292897318"99    }]100  ];101 102  if (Bot.getProperty("reseller_system_enabled") && !Bot.getProperty("is_reseller_" + userId)) {103    keyboard.push([{ text: "💼 Reseller Upgrade", callback_data: "/reseller_upgrade", style: "success" }]);104  }105 106  var markup = JSON.stringify({ inline_keyboard: keyboard });107  var photoId = Bot.getProperty("start_photo_file_id");108 109  if (request && request.id) {110    try { Api.answerCallbackQuery({ callback_query_id: String(request.id) }); } catch (e0) {}111  }112 113  if (photoId && request && request.message && request.message.message_id && request.message.photo) {114    try {115      Api.editMessageCaption({116        chat_id: chatId,117        message_id: Number(request.message.message_id),118        caption: welcomeMessage,119        parse_mode: "HTML",120        reply_markup: markup121      });122      return;123    } catch (photoEditErr) {124      try { Api.deleteMessage({ chat_id: chatId, message_id: Number(request.message.message_id) }); } catch (delPhotoErr) {}125    }126  }127 128  if (request && request.message && request.message.message_id) {129    try { Api.deleteMessage({ chat_id: chatId, message_id: Number(request.message.message_id) }); } catch (delErr) {}130  }131 132  if (photoId) {133    Api.sendPhoto({134      chat_id: chatId,135      photo: String(photoId),136      caption: welcomeMessage,137      parse_mode: "HTML",138      reply_markup: markup139    });140  } else {141    Api.sendMessage({142      chat_id: chatId,143      text: welcomeMessage,144      parse_mode: "HTML",145      reply_markup: markup146    });147  }148 149} catch (err) {150  Bot.sendMessage("🛑 <b>Menu Error:</b> <code>" + String(err.message || err) + "</code>", { parse_mode: "HTML" });151}
commands/_menu.js · tarunpoonia905/OfcDevShopBot · TeleDevs