ayushyadav7970824760/goldensellingstore_botPublic · Bot Template
AIThis Telegram store bot lets customers browse digital products and plans, apply coupons, add funds via UPI, and receive purchased keys. It includes a full admin panel for managing products, reordering items, setting reseller prices, viewing and removing key stock, configuring UPI payment details and update links, and checking user balances. Co-admins and resellers are supported, and support tickets are forwarded to the admin.
Commercedigital_storeadmin_panelupi_paymentsresellercouponskey_stock
146 commands0 envUpdated 2d agoCreated Sep 5, 2026
commands/_buy_hack.js
javascript · 83 lines
1/**#command2name: /buy_hack3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// =========================================================13// 🛒 SHOP MENU — Category selection (entry point of the whole buy flow)14// ✅ NEW: Shop Now ab seedha product list nahi, pehle "ANDROID ROOT" /15// "ANDROID NON ROOT" category selection dikhata hai. Product asli list16// /buy_hack_cat me dikhti hai (category ke hisaab se filter hokar).17// ✅ BUG FIX: reply_markup pehle raw object bheja jaa raha tha (JSON.stringify18// missing) — is wajah se product buttons kabhi kabhi properly render/work19// nahi karte the, jisse poora buy flow shuru hone se pehle hi tootta tha.20// ✅ BUG FIX: photo-message (jaise Profile) se yahan aane par editMessageText21// fail ho jaata — ab photo detect hoke delete + fresh send hota hai.22// ✅ Premium redesign.23// =========================================================24 25try {26 var rawData = Bot.getProperty("stored_products");27 var productList = [];28 29 if (Array.isArray(rawData)) {30 productList = rawData;31 } else if (typeof rawData === "string") {32 try {33 productList = JSON.parse(rawData);34 if (!Array.isArray(productList)) { productList = []; }35 } catch (e) {36 productList = [];37 }38 }39 40 var chatId = chat.chatid;41 var firstName = user && user.first_name ? user.first_name : "User";42 43 // Device categories.44 var categoryButtons = [45 [{ text: "𝑨𝑵𝑫𝑹𝑶𝑰𝑫 𝑵𝑶𝑵 𝑹𝑶𝑶𝑻", callback_data: "/buy_hack_cat nonroot", style: "primary" }],46 [{ text: "𝑨𝑵𝑫𝑹𝑶𝑰𝑫 𝑹𝑶𝑶𝑻", callback_data: "/buy_hack_cat root", style: "primary" }],47 [{ text: "𝒊𝑷𝑯𝑶𝑵𝑬", callback_data: "/buy_hack_cat iphone", style: "primary" }],48 [{ text: "𝑩𝒂𝒄𝒌 𝒕𝒐 𝑴𝒆𝒏𝒖", callback_data: "/back", style: "danger" }]49 ];50 51 var storeText =52 "<blockquote>🛒 <b>SELECT YOUR DEVICE TYPE</b> ✨</blockquote>\n" +53 "━━━━━━━━━━━━━━━━━━━━━\n\n" +54 "<tg-emoji emoji-id='6091571559233755994'>👋</tg-emoji> <b>Yoo " + firstName + "!</b>\n" +55 "<i>Pehle apna device type chunein, uske baad products dikhenge.</i>\n" +56 "━━━━━━━━━━━━━━━━━━━━━";57 58 var replyMarkupStr = JSON.stringify({ inline_keyboard: categoryButtons });59 60 if (request && request.message && request.message.message_id) {61 if (request.message.photo) {62 try { Api.deleteMessage({ chat_id: chatId, message_id: request.message.message_id }); } catch (e) {}63 Api.sendMessage({ chat_id: chatId, text: storeText, parse_mode: "HTML", reply_markup: replyMarkupStr });64 } else {65 Api.editMessageText({66 chat_id: chatId,67 message_id: request.message.message_id,68 text: storeText,69 parse_mode: "HTML",70 reply_markup: replyMarkupStr71 });72 }73 } else {74 Api.sendMessage({ chat_id: chatId, text: storeText, parse_mode: "HTML", reply_markup: replyMarkupStr });75 }76 77 if (request && request.id) {78 try { Api.answerCallbackQuery({ callback_query_id: request.id }); } catch (e) {}79 }80 81} catch (err) {82 Bot.sendMessage("⚠️ Shop Menu Error: " + err.message, { parse_mode: "HTML" });83}