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/_buy_hack.js

javascript · 195 lines

Raw
1/**#command2name: /buy_hack3answer: 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){var __cb=String(b.callback_data||"");if(/^\/buy_hack_cat\s/.test(__cb)||__cb==="/back"){if(!b.style)b.style=(__cb==="/back"?"danger":"success");}else{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// 🛒 SHOP MENU — Category selection (entry point of the whole buy flow)19// ✅ NEW: Shop / Store Product ab seedha product list nahi, pehle "ANDROID ROOT" /20// "ANDROID NON ROOT" category selection dikhata hai. Product asli list21// /buy_hack_cat me dikhti hai (category ke hisaab se filter hokar).22// ✅ BUG FIX: reply_markup pehle raw object bheja jaa raha tha (JSON.stringify23// missing) — is wajah se product buttons kabhi kabhi properly render/work24// nahi karte the, jisse poora buy flow shuru hone se pehle hi tootta tha.25// ✅ BUG FIX: photo-message (jaise Profile) se yahan aane par editMessageText26// fail ho jaata — ab photo detect hoke delete + fresh send hota hai.27// ✅ Premium redesign.28// =========================================================29 30try {31  // 🧹 NAV-CLEAN: koi bhi navigation button (Back/Menu/Shop/Admin) dabane par purane32  // "agla message save karo" wale pending states hata do, taaki aalatu-faalatu33  // purana wizard/upload agle message ko na nigal le. Sirf button-press par chalta hai.34  try {35    if (typeof request !== "undefined" && request && (request.id || request.callback_query)) {36      ["shopmedia_step","wz_state","aiadd_state","set_payment_zapupi_step","set_zapupi_mobile_step",37       "extkey_url_step","extkey_apikey_step","extkey_master_step"].forEach(function (k) {38        try { if (User.getProperty(k)) User.setProperty(k, null, "json"); } catch (e0) {}39      });40      try { if (User.getProperty("ai_chat_active")) User.setProperty("ai_chat_active", false, "boolean"); } catch (e1) {}41    }42  } catch (navE) {}43  var rawData = Bot.getProperty("stored_products");44  var productList = [];45 46  if (Array.isArray(rawData)) {47    productList = rawData;48  } else if (typeof rawData === "string") {49    try {50      productList = JSON.parse(rawData);51      if (!Array.isArray(productList)) { productList = []; }52    } catch (e) {53      productList = [];54    }55  }56 57  // 🧹 Purana auto-bana default "Drip Client (Non Root)" (bina plans wala) ek baar hata do.58  var __before = productList.length;59  productList = productList.filter(function (it) {60    return !(it && String(it.name || "").trim().toLowerCase() === "drip client (non root)" && (!it.plans || it.plans.length === 0));61  });62  if (productList.length !== __before) { Bot.setProperty("stored_products", productList, "json"); }63 64  var chatId = chat.chatid;65  var firstName = user && user.first_name ? user.first_name : "User";66 67  var categoryButtons = [68    [69      {70        text: " 𝙉𝙊𝙉 𝙍𝙊𝙊𝙏",71        callback_data: "/buy_hack_cat nonroot",72        style: "primary",73        icon_custom_emoji_id: "5467752521839690487"74      }75    ],76    [77      {78        text: "𝘼𝙉𝘿𝙍𝙊𝙄𝘿 𝙍𝙊𝙊𝙏",79        callback_data: "/buy_hack_cat root",80        style: "primary",81        icon_custom_emoji_id: "6287397479243585292"82      }83    ],84    [85      {86        text: "𝙊𝙄𝙎/𝙄𝙋𝙃𝙊𝙉𝙀",87        callback_data: "/buy_hack_cat iphone",88        style: "primary",89        icon_custom_emoji_id: "5332823031859389246"90      }91    ],92    [93      {94        text: "𝘽𝙖𝙘𝙠 𝙩𝙤 𝙈𝙚𝙣𝙪",95        callback_data: "/back",96        style: "danger",97        icon_custom_emoji_id: "6100379527840538820"98      }99    ]100  ];101 102  // 🎨 NEW STYLE (admin: /admin -> "Buttons: NEW"): rangeen (green/blue) + 2 side-by-side. OFF = upar wala purana CLASSIC layout.103  if (Bot.getProperty("ui_btn_new") === true) {104    categoryButtons = [105      [106        { text: "𝙉𝙊𝙉 𝙍𝙊𝙊𝙏", callback_data: "/buy_hack_cat nonroot", style: "primary", icon_custom_emoji_id: "5467752521839690487" },107        { text: "𝘼𝙉𝘿𝙍𝙊𝙄𝘿 𝙍𝙊𝙊𝙏", callback_data: "/buy_hack_cat root", style: "primary", icon_custom_emoji_id: "6287397479243585292" }108      ],109      [110        { text: "𝙊𝙄𝙎/𝙄𝙋𝙃𝙊𝙉𝙀", callback_data: "/buy_hack_cat iphone", style: "primary", icon_custom_emoji_id: "5332823031859389246" }111      ],112      [113        { text: "𝘽𝙖𝙘𝙠 𝙩𝙤 𝙈𝙚𝙣𝙪", callback_data: "/back", icon_custom_emoji_id: "6100379527840538820" }114      ]115    ];116  }117 118  var storeName = String(Bot.getProperty("store_name") || "DEV SHOP BOT");119  storeName = storeName.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");120 121  var storeText =122    "<blockquote><b><tg-emoji emoji-id='6091170843080007327'>🛒</tg-emoji> PRODUCT STORE — SHOP</b></blockquote>\n" +123    "━━━━━━━━━━━━━━━━━━━━━\n\n" +124    "<tg-emoji emoji-id='5192820781775594328'>📱</tg-emoji> <b>Select your device type:</b>\n" +125    "━━━━━━━━━━━━━━━━━━━━━";126 127  // 📝 NEW TEXT STYLE (admin: /admin -> "Text: NEW"). OFF = purana storeText.128  if (false) {129    var __bal = "";130    try { var __b = Number(Libs.ResourcesLib.userRes("balance").value()); if (!isNaN(__b)) __bal = "💎 Wallet ➤ <b>₹" + __b.toFixed(2) + "</b>\n"; } catch (eB) {}131    var __fn = String(firstName).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");132    storeText =133      "<blockquote><b>👑 " + storeName + " 👑</b></blockquote>\n" +134      "✦━━━━━━━━━━━━━━━━━━━━✦\n" +135      "🚀 Welcome ➤ <b>" + __fn + "</b>\n" +136      "🆔 Account ID ➤ <code>" + chatId + "</code>\n" +137      __bal +138      "✦━━━━━━━━━━━━━━━━━━━━✦\n" +139      "👇 <i>Apna panel choose karo</i>";140  }141 142  var replyMarkupStr = JSON.stringify({ inline_keyboard: categoryButtons });143 144  // 🎬 Welcome GIF / MP4 — admin: /admin → "🎬 Shop Welcome GIF/Video"145  var welcomeMedia = Bot.getProperty("shop_welcome_media");146  if (typeof welcomeMedia === "string") { try { welcomeMedia = JSON.parse(welcomeMedia); } catch (eWm) { welcomeMedia = null; } }147  // 🎞 Animation 2: ON ho aur set ho to wahi chalega; OFF ho to upar wala normal (Animation 1) hi chalega.148  if (Bot.getProperty("shop_welcome_anim2_on") === true) {149    var welcomeMedia2 = Bot.getProperty("shop_welcome_media2");150    if (typeof welcomeMedia2 === "string") { try { welcomeMedia2 = JSON.parse(welcomeMedia2); } catch (eWm2) { welcomeMedia2 = null; } }151    if (welcomeMedia2 && welcomeMedia2.file_id && (welcomeMedia2.type === "animation" || welcomeMedia2.type === "video")) {152      welcomeMedia = welcomeMedia2;153    }154  }155  var hasWelcome = !!(welcomeMedia && welcomeMedia.file_id && (welcomeMedia.type === "animation" || welcomeMedia.type === "video"));156  // Telegram caption limit = 1024; is screen ka text chhota hai, phir bhi guard.157  if (hasWelcome && String(storeText).replace(/<[^>]*>/g, "").length > 1000) { hasWelcome = false; }158 159  var srcMsg = (request && request.message) ? request.message : null;160  var srcMid = (srcMsg && srcMsg.message_id) ? Number(srcMsg.message_id) : null;161  var srcIsMedia = !!(srcMsg && (srcMsg.photo || srcMsg.video || srcMsg.animation || srcMsg.document));162 163  if (hasWelcome) {164    // Media-wala screen: naya media message bhejo, purana (text ya media) message delete.165    var mediaPayload = { chat_id: chatId, caption: storeText, parse_mode: "HTML", reply_markup: replyMarkupStr };166    if (welcomeMedia.type === "animation") {167      mediaPayload.animation = String(welcomeMedia.file_id);168      Api.sendAnimation(mediaPayload);169    } else {170      mediaPayload.video = String(welcomeMedia.file_id);171      mediaPayload.supports_streaming = true;172      Api.sendVideo(mediaPayload);173    }174    if (srcMid) { try { Api.deleteMessage({ chat_id: chatId, message_id: srcMid }); } catch (e) {} }175  } else if (srcMid && !srcIsMedia) {176    Api.editMessageText({177      chat_id: chatId,178      message_id: srcMid,179      text: storeText,180      parse_mode: "HTML",181      reply_markup: replyMarkupStr182    });183  } else {184    // photo / video / GIF message se aaye -> text edit nahi ho sakta: delete + fresh send185    if (srcMid) { try { Api.deleteMessage({ chat_id: chatId, message_id: srcMid }); } catch (e) {} }186    Api.sendMessage({ chat_id: chatId, text: storeText, parse_mode: "HTML", reply_markup: replyMarkupStr });187  }188 189  if (request && request.id) {190    try { Api.answerCallbackQuery({ callback_query_id: request.id }); } catch (e) {}191  }192 193} catch (err) {194  Bot.sendMessage("⚠️ Shop Menu Error: " + err.message, { parse_mode: "HTML" });195}
commands/_buy_hack.js · tarunpoonia905/OfcDevShopBot · TeleDevs