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

javascript · 267 lines

Raw
1/**#command2name: /process_buy3answer: 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// 🛒 COMMAND = /process_buy (ORIGINAL)19// =========================================================20 21try {22  if (!params || typeof params !== "string") return;23 24  let data = params.split(" ");25  let rawType = data[0] ? data[0].toLowerCase().trim() : "";26  let actionState = data[1] ? data[1].toLowerCase().trim() : "";27 28  let queryId = request.id || (request.callback_query && request.callback_query.id);29  let userId = user.telegramid.toString().trim(); 30  let chatID = chat.chatid;31 32  let rawResellers = Bot.getProperty("resellers_list");33  let resellers = [];34 35  if (rawResellers) {36      if (Array.isArray(rawResellers)) {37          resellers = rawResellers;38      } else if (typeof rawResellers === "string") {39          try { resellers = JSON.parse(rawResellers); } catch(e) { resellers = rawResellers.split(","); }40      } else if (typeof rawResellers === "object") {41          resellers = rawResellers.resellers || rawResellers.list || rawResellers.users || Object.values(rawResellers);42      }43  }44  if (!Array.isArray(resellers)) { resellers = []; }45 46  let isReseller = resellers.map(function(id) {47      return id ? id.toString().toLowerCase().trim() : "";48  }).includes(userId) || (userId === String(Bot.getProperty("owner_id") || "7127818616")) || (Bot.getProperty("is_reseller_" + userId) === true);49  50  let finalCost = 0;51  let stockData = [];52  let displayTypeName = "";53  let isDynamicCategory = false;54  let isGeneralCategory = false;55  let selectedCat = null;56  57  let fbCategories = Bot.getProperty("fb_categories", []);58  if (!Array.isArray(fbCategories)) { fbCategories = []; }59 60  if (rawType.startsWith("fb_")) {61      isDynamicCategory = true;62      let targetCatId = rawType.replace("fb_", "").trim();63      64      for (let i = 0; i < fbCategories.length; i++) {65          if (fbCategories[i].id === targetCatId) {66              selectedCat = fbCategories[i];67              break;68          }69      }70      71      if (!selectedCat) {72          if (queryId) Api.answerCallbackQuery({ callback_query_id: queryId, text: "❌ Category deleted!", show_alert: true });73          return;74      }75      76      if (isReseller && selectedCat.reseller_price !== undefined && selectedCat.reseller_price !== "") {77          finalCost = Number(selectedCat.reseller_price);78      } else {79          finalCost = Number(selectedCat.price || 0);80      }81      stockData = selectedCat.stock_list || [];82      displayTypeName = selectedCat.name;83  } else if (rawType == "fb" || rawType == "google") {84      let priceRes = parseFloat(Bot.getProperty("price_res_" + rawType) || 0);85      let priceNorm = parseFloat(Bot.getProperty("price_norm_" + rawType) || 0);86      finalCost = isReseller ? priceRes : priceNorm;87      stockData = Bot.getProperty("ff_stock_" + rawType) || [];88      displayTypeName = rawType.toUpperCase();89  } else {90      var categories = Bot.getProperty("ff_categories") || {};91      if (!categories[rawType]) {92          if (queryId) Api.answerCallbackQuery({ callback_query_id: String(queryId), text: "❌ Invalid Product!", show_alert: true });93          return;94      }95      isGeneralCategory = true;96      selectedCat = categories[rawType];97      98      if (isReseller) {99          if (selectedCat.reseller_price !== undefined && selectedCat.reseller_price !== "" && selectedCat.reseller_price !== null && Number(selectedCat.reseller_price) > 0) {100              finalCost = Number(selectedCat.reseller_price);101          } else if (selectedCat.price !== undefined && selectedCat.price !== "" && selectedCat.price !== null) {102              finalCost = Number(selectedCat.price); 103          } else {104              finalCost = Number(selectedCat.normal_price || 0);105          }106      } else {107          finalCost = Number(selectedCat.normal_price || selectedCat.price || 0);108      }109      110      let fallbackStock = Bot.getProperty("ff_stock_" + rawType) || [];111      stockData = (selectedCat.stock_list && selectedCat.stock_list.length > 0) ? selectedCat.stock_list : fallbackStock;112      displayTypeName = selectedCat.name;113  }114 115  if (!stockData || stockData.length === 0) {116      if (queryId) {117          Api.answerCallbackQuery({118              callback_query_id: String(queryId),119              text: "❌ Stock is empty! Cannot process purchase.",120              show_alert: true121          });122      } else {123          Api.sendMessage({ chat_id: chatID, text: "❌ Out of stock items cannot be processed." });124      }125      return;126  }127 128  var userRes = Libs.ResourcesLib.userRes("balance");129  var bonusBal = Bot.getProperty("balance" + userId) || 0;130  var unifiedTotalBalance = Number(userRes.value()) + Number(bonusBal);131 132  if (unifiedTotalBalance < finalCost) {133      var needToPay = finalCost - unifiedTotalBalance;134      135      User.setProperty("buy_price", finalCost, "number");136      User.setProperty("buy_needpay", needToPay, "number");137      User.setProperty("buy_prod_name", displayTypeName, "string");138 139      if (queryId) {140          Api.answerCallbackQuery({ 141              callback_query_id: String(queryId), 142              text: "⚠️ Balance low! Generating QR for ₹" + needToPay + "...", 143              show_alert: true 144          });145      }146 147      // 🔒 v8: pehle yahan default UPI ID (hardcoded) use hoti thi — ab admin ne apni UPI + keys set ki hon tabhi QR banta hai.148      if (!(Bot.getProperty("paytm_upi") || Bot.getProperty("payment_upi_id") || "paytm.s1tk6od@pty") || !(Bot.getProperty("paytm_merchant_id") || "SDfRhW21109811758334") || !(Bot.getProperty("paytm_merchant_key") || "SDfRhW21109811758334")) {149        Api.sendMessage({ chat_id: chatID, text: "⚠️ UPI (Paytm) payment abhi configure nahi hai. Kripya FamPay se pay karo ya admin se contact karo." });150        return;151      }152      var targetUrl = "https://paytm.anujbots.xyz/qr.php?upi=" + encodeURIComponent(Bot.getProperty("paytm_upi") || Bot.getProperty("payment_upi_id") || "paytm.s1tk6od@pty") + "&amount=" + encodeURIComponent(needToPay) + "&merchantid=" + encodeURIComponent(Bot.getProperty("paytm_merchant_id") || "SDfRhW21109811758334") + "&merchantkey=" + encodeURIComponent(Bot.getProperty("paytm_merchant_key") || "SDfRhW21109811758334");153 154      Api.sendMessage({155          chat_id: chatID,156          text: "<b>📉 Requesting QR from server...\n<code>" + targetUrl + "</code></b>",157          parse_mode: "HTML"158      });159 160      HTTP.get({161          url: targetUrl,162          success: "/onBuyQR"163      });164      return;165  }166 167  if (bonusBal >= finalCost) {168      Bot.setProperty("balance" + userId, bonusBal - finalCost, "number");169  } else {170      var remainingDeduction = finalCost - bonusBal;171      Bot.setProperty("balance" + userId, 0, "number");172      userRes.remove(remainingDeduction);173  }174 175  var accountExtracted = stockData.shift();176  177  if (isDynamicCategory && selectedCat) {178      selectedCat.stock_list = stockData;179      Bot.setProperty("fb_categories", fbCategories, "json");180  } else if (isGeneralCategory && selectedCat) {181      selectedCat.stock_list = stockData;182      var categories = Bot.getProperty("ff_categories") || {};183      categories[rawType] = selectedCat;184      Bot.setProperty("ff_categories", categories, "json");185      Bot.setProperty("ff_stock_" + rawType, stockData, "json");186  } else {187      Bot.setProperty("ff_stock_" + rawType, stockData, "json");188  }189 190  var fullRawString = String(accountExtracted || "").trim();191  var emailData = fullRawString;192  var passwordData = "No Password Found";193 194  if (fullRawString.indexOf("|") !== -1) {195      var lastPipeIndex = fullRawString.lastIndexOf("|");196      var firstPart = fullRawString.substring(0, lastPipeIndex).trim();197      var secondPart = fullRawString.substring(lastPipeIndex + 1).trim();198 199      if (firstPart.indexOf(" ") !== -1) {200          var spaceParts = firstPart.split(" ");201          emailData = spaceParts[spaceParts.length - 1].trim();202      } else {203          emailData = firstPart;204      }205      passwordData = secondPart;206  }207 208  let purchasedKeys = User.getProperty("my_purchased_keys") || [];209  if (!Array.isArray(purchasedKeys)) { purchasedKeys = []; }210  211  let currentDate = new Date().toLocaleDateString('en-IN', { timeZone: 'Asia/Kolkata' });212  purchasedKeys.push({213      productName: displayTypeName,214      cost: finalCost.toString(),215      key: emailData + (passwordData !== "No Password Found" ? " | " + passwordData : ""),216      days: "Permanent", 217      date: currentDate218  });219  User.setProperty("my_purchased_keys", purchasedKeys, "json");220 221  var deliveryText = 222    "┏━━━━━━━━━━━━━━━━━━━━━━━━┓\n" +223    "┃ ❤️‍🔥 <b>PURCHASE SUCCESSFUL!</b> ❤️‍🔥 ┃\n" +224    "┗━━━━━━━━━━━━━━━━━━━━━━━━┛\n\n" +225    "📦 <b>Item:</b> <code>" + displayTypeName + "</code>\n" +226    "💰 <b>Paid:</b> <code>₹" + finalCost + "</code> " + (isReseller ? "<b>(Reseller)</b>" : "") + "\n" +227    "━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +228    "👤 <b>ACCOUNT DETAILS:</b>\n\n" +229    "🚀 <b>Email:</b> <code>" + emailData + "</code>\n" +230    "🔒 <b>Password:</b> <code>" + passwordData + "</code>\n" +231    "━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +232    "⚠️ <i>Copy details instantly.</i>";233 234  Api.sendMessage({235      chat_id: chatID,236      text: deliveryText,237      parse_mode: "HTML"238  });239 240  if (queryId) {241      Api.answerCallbackQuery({242          callback_query_id: String(queryId),243          text: "✅ Released Successfully!",244          show_alert: false245      });246  }247 248  var adminLogChannel = String(Bot.getProperty("owner_id") || "7127818616"); 249  var adminNotificationMsg = 250    "<blockquote>⚠️ <b>NEW ORDER ALERT</b>" + (isReseller ? " [RESELLER]" : "") + "</blockquote>\n" +251    "👤 <b>User:</b> <a href='tg://user?id=" + userId + "'>" + user.first_name + "</a> (<code>" + userId + "</code>)\n" +252    "📦 <b>Item:</b> <code>" + displayTypeName + "</code>\n" +253    "💰 <b>Revenue:</b> <code>₹" + finalCost + "</code>\n" +254    "⚡ <b>Stock Left:</b> <code>" + stockData.length + " units</code>\n\n" +255    "🖥 <b>ACCOUNT DETAILS:</b>\n" +256    "➔ <b>Email:</b> <code>" + emailData + "</code>\n" +257    "➔ <b>Password:</b> <code>" + passwordData + "</code>";258 259  Api.sendMessage({260      chat_id: adminLogChannel,261      text: adminNotificationMsg,262      parse_mode: "HTML"263  });264 265} catch(e) {266  Bot.sendMessage("Critical Execution Failure Module Error: " + e.message);267}
commands/_process_buy.js · tarunpoonia905/OfcDevShopBot · TeleDevs