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/_give_key_btn.js
javascript · 97 lines
1/**#command2name: /give_key_btn3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// =========================================================13// ✅ ADMIN — "Give Key" button on a manual (no-PID) order notification.14// Tap karne par admin se agli message me seedha KEY maangi jaati hai15// (jo /start ke Module 5b me handle hoti hai). Naya message bhejne ke16// bajaye, wahi original order-alert message EDIT ho jaata hai — taaki17// admin ke chat me clutter na ho.18// =========================================================19 20try {21 var adminId = Bot.getProperty("owner_id") || "8477746023";22 var isCoAdmin0 = Bot.getProperty("co_admin_" + String(chat.chatid));23 var callbackId = request ? (request.id || (request.callback_query && request.callback_query.id)) : null;24 25 if (String(chat.chatid) !== adminId && !isCoAdmin0) {26 if (callbackId) {27 try { Api.answerCallbackQuery({ callback_query_id: String(callbackId), text: "❌ You are not authorized to use this.", show_alert: true }); } catch (e) {}28 }29 return;30 }31 32 var orderId = params ? String(params).trim() : "";33 if (!orderId) {34 if (callbackId) {35 try { Api.answerCallbackQuery({ callback_query_id: String(callbackId), text: "❌ Invalid order.", show_alert: true }); } catch (e) {}36 }37 return;38 }39 40 var pendingOrder = Bot.getProperty("pending_manual_order_" + orderId);41 if (!pendingOrder) {42 if (callbackId) {43 try { Api.answerCallbackQuery({ callback_query_id: String(callbackId), text: "❌ Ye order already fulfil ho chuka hai ya expire ho gaya.", show_alert: true }); } catch (e) {}44 }45 return;46 }47 48 // ✅ FIXED: agar koi PURANA admin step atka reh gaya tha (jaise Add49 // Balance wizard adhoora chhoda gaya), to naya step set karne se pehle50 // sabhi purane step-flags clear kar do — warna agla text message galat51 // handler me chala jaata tha aur ye naya flow kaam hi nahi karta tha.52 var __allAdminSteps = ["addbal_step","addbalall_step","rembal_step","checkbal_step",53 "set_download_link_step","set_payment_upi_step","set_payment_binance_step",54 "set_dailygift_price_step","set_refer_earn_step","set_how_link_step",55 "set_proof_link_step","set_support_link_step","give_key_step",56 "set_sale_channel_step","set_menu_emoji_step","set_welcome_message_step",57 "add_product_step"];58 for (var __si = 0; __si < __allAdminSteps.length; __si++) { User.setProperty(__allAdminSteps[__si], null, "string"); }59 60 User.setProperty("give_key_step", "waiting_key", "string");61 User.setProperty("give_key_order_id", orderId, "string");62 63 if (callbackId) {64 try { Api.answerCallbackQuery({ callback_query_id: String(callbackId), text: "✍️ Ab key type karke bhejein." }); } catch (e) {}65 }66 67 var promptText =68 "<blockquote>🔑 <b>SEND THE KEY NOW</b></blockquote>\n\n" +69 "👤 <b>Buyer:</b> " + (pendingOrder.buyerName || "User") + " (<code>" + pendingOrder.buyerId + "</code>)\n" +70 "📦 <b>Product:</b> " + pendingOrder.prodName + "\n" +71 "⏳ <b>Plan:</b> " + pendingOrder.durationDisplay + "\n" +72 "💸 <b>Price:</b> ₹" + Number(pendingOrder.price).toFixed(2) + "\n\n" +73 "<i>Is order ke liye ab jo bhi text aap type karke bhejenge, wahi seedha buyer ko KEY ke roop me deliver ho jaayega.</i>";74 75 // ✅ Naya message bhejne ke bajaye, wahi original order-alert message EDIT76 // karo (button hata do) — taaki admin ke chat me sirf ek hi message rahe,77 // jo delivery hone par aage "KEY DELIVERED" me update ho jaayega.78 var editedOk = false;79 if (pendingOrder.adminMsgId && pendingOrder.adminChatId) {80 try {81 Api.editMessageText({82 chat_id: String(pendingOrder.adminChatId),83 message_id: Number(pendingOrder.adminMsgId),84 text: promptText,85 parse_mode: "HTML"86 });87 editedOk = true;88 } catch (e) {}89 }90 91 if (!editedOk) {92 Bot.sendMessage(promptText, { parse_mode: "HTML" });93 }94 95} catch (err) {96 Bot.sendMessage("⚠️ System Error: " + err.message);97}