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
ProfileTelegram
146 commands0 envUpdated 2d agoCreated Sep 5, 2026
Back to folder

commands/_give_key_btn.js

javascript · 97 lines

Raw
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}