indrajitghosh20006/Testseller_01botPublic · Bot Template
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
commands/_buy_hack_cat.js
javascript · 122 lines
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}