indrajitghosh20006/Testseller_01botPublic · Bot Template

ProfileTelegram

AIThis bot provides an admin‑controlled system for managing user balances, products, and reseller roles. It includes commands to add balances (via manual input, Binance Pay, or UPI), approve and credit payments, and set up product listings with categories and pricing. Admins can also add resellers, view reseller info, and manage stock entries. The bot uses built‑in TeleBotHost APIs such as Bot, Api, HTTP, and Libs for database operations and message handling.

Commerceadminbalanceproductresellerpaymentsbinance
138 commands0 envUpdated 17h agoCreated Sep 27, 2026
Back to folder

commands/_buy_hack_cat.js

javascript · 122 lines

Raw
1/**#command2name: /buy_hack_cat3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// =========================================================13// 🛒 SHOP MENU — Product listing filtered by category (Step 1.5)14// Called after user selects "ANDROID ROOT" or "ANDROID NON ROOT" from15// /buy_hack. Shows only products matching that category. Products added16// with category "both" (or no category set at all — legacy products)17// show up under BOTH root and nonroot listings.18// =========================================================19 20try {21  var rawData = Bot.getProperty("stored_products");22  var productList = [];23 24  if (Array.isArray(rawData)) {25    productList = rawData;26  } else if (typeof rawData === "string") {27    try {28      productList = JSON.parse(rawData);29      if (!Array.isArray(productList)) { productList = []; }30    } catch (e) {31      productList = [];32    }33  }34 35  var chatId = chat.chatid;36  var firstName = user && user.first_name ? user.first_name : "User";37 38  // Category param — "root" or "nonroot"39  var category = params ? params.trim().toLowerCase() : "";40  if (category === "") {41    var cbData = request && request.callback_query ? request.callback_query.data : "";42    category = cbData.replace("/buy_hack_cat ", "").replace("buy_hack_cat ", "").trim().toLowerCase();43  }44  if (category !== "root" && category !== "nonroot" && category !== "iphone") { category = "nonroot"; }45 46  var categoryLabel = (category === "root") ? "ANDROID ROOT" : (category === "iphone") ? "iPHONE" : "ANDROID NON ROOT";47 48  var productButtons = [];49 50  for (var i = 0; i < productList.length; i++) {51    var item = productList[i];52    if (!item) { continue; }53 54    // Legacy products (no category field) ya "both" wale — dono categories me dikhte hain.55    var itemCategory = item.category ? String(item.category).toLowerCase() : "both";56    if (itemCategory !== "both" && itemCategory !== category) { continue; }57 58    var itemName = item.name ? String(item.name) : "Product " + (i + 1);59    var itemEmoji = item.emoji ? String(item.emoji) : "5226656353744862682";60 61    productButtons.push([62      {63        text: itemName,64        callback_data: "/viewprod " + i,65        style: "primary",66        icon_custom_emoji_id: itemEmoji67      }68    ]);69  }70 71  var storeText;72 73  if (productButtons.length === 0) {74    storeText =75      "<blockquote><b>" + categoryLabel + "</b></blockquote>\n" +76      "━━━━━━━━━━━━━━━━━━━━━\n\n" +77      "<tg-emoji emoji-id='6093854128193152827'>⚠️</tg-emoji> <i>Is category me abhi koi product available nahi hai. Jald hi add kiya jayega!</i>\n" +78      "━━━━━━━━━━━━━━━━━━━━━";79  } else {80    storeText =81      "<blockquote><b>" + categoryLabel + " — SELECT A PRODUCT</b></blockquote>\n" +82      "━━━━━━━━━━━━━━━━━━━━━\n\n" +83      "<tg-emoji emoji-id='6091571559233755994'>👋</tg-emoji> <b>Yoo " + firstName + "!</b>\n" +84      "<i>Choose any product below to view its price and available duration plans.</i>\n" +85      "━━━━━━━━━━━━━━━━━━━━━";86  }87 88  productButtons.push([89    {90      text: "Back",91      callback_data: "/buy_hack",92      style: "danger",93      icon_custom_emoji_id: "5893163582194978381"94    }95  ]);96 97  var replyMarkupStr = JSON.stringify({ inline_keyboard: productButtons });98 99  if (request && request.message && request.message.message_id) {100    if (request.message.photo) {101      try { Api.deleteMessage({ chat_id: chatId, message_id: request.message.message_id }); } catch (e) {}102      Api.sendMessage({ chat_id: chatId, text: storeText, parse_mode: "HTML", reply_markup: replyMarkupStr });103    } else {104      Api.editMessageText({105        chat_id: chatId,106        message_id: request.message.message_id,107        text: storeText,108        parse_mode: "HTML",109        reply_markup: replyMarkupStr110      });111    }112  } else {113    Api.sendMessage({ chat_id: chatId, text: storeText, parse_mode: "HTML", reply_markup: replyMarkupStr });114  }115 116  if (request && request.id) {117    try { Api.answerCallbackQuery({ callback_query_id: request.id }); } catch (e) {}118  }119 120} catch (err) {121  Bot.sendMessage("⚠️ Shop Menu Error: " + err.message, { parse_mode: "HTML" });122}