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/_press.js

javascript · 223 lines

Raw
1/**#command2name: /press3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// Command Name: /press (Premium Calculator Keypad Handler)13// ✅ FIXED: "Back" button pehle "/dmenu" call kar raha tha jo bot me exist hi nahi karta14// (dead button — click karne par kuch nahi hota tha). Ab "/back" (real menu command) use hota hai.15// ✅ Number buttons ab addfund screen jaisi hi blue "primary" styling ke saath hain (pehle plain/colorless the).16 17try {18  // Purana set default check: Agar user ne naya deposit shuru kiya hai toh default 0 rahe19  let current_amount = User.getProperty("deposit_amount");20  if (!current_amount) {21    current_amount = "0";22  }23 24  let pressed = params ? params.trim() : "";25  let queryId = request ? (request.id || (request.callback_query && request.callback_query.id)) : null;26 27  // 💎 Premium Emoji Set (same IDs as /addfund — keeps the screen visually identical, no flicker)28  let e_money   = "<tg-emoji emoji-id='6312263493051489212'>💰</tg-emoji>";29  let e_clear   = "<tg-emoji emoji-id='5348224471050238603'>✏</tg-emoji>";30  let e_confirm = "<tg-emoji emoji-id='5348191451341668809'>✅</tg-emoji>";31  let e_back    = "<tg-emoji emoji-id='5893163582194978381'>⬅️</tg-emoji>";32  let e_hour    = "<tg-emoji emoji-id='6100657257605763582'>✔️</tg-emoji>";33  let e_check   = "<tg-emoji emoji-id='6311870645277825763'>✔️</tg-emoji>";34  let e_gear    = "<tg-emoji emoji-id='5348292765325212780'>⚙</tg-emoji>";35 36  // --- CONFIRM BUTTON CLICK ---37  if (pressed == "confirm") {38    if (parseInt(current_amount) <= 0 || current_amount == "" || current_amount == "0") {39      if (queryId) {40        Api.answerCallbackQuery({41          callback_query_id: queryId,42          text: "👀 PLEASE ENTER A VALID AMOUNT!",43          show_alert: true44        });45      }46      return;47    }48 49    // ✅ FIXED: "Choose Payment Method" wali screen hata di — Confirm dabate50    // hi seedha UPI QR generate ho jaata hai (koi extra step nahi).51    // ✅ FIXED (2): pehle yahan se /addbal_upi ko Bot.run() se call kiya52    // jaata tha, jo button-click context me reliably params pass nahi kar53    // raha tha (isliye "Invalid amount!" aata tha chahe amount sahi ho) —54    // ab QR-generation logic seedha yahin (inline) chalta hai.55    let finalAmount = String(parseInt(current_amount));56 57    // Amount reset to 0 so next time it starts fresh58    User.setProperty("deposit_amount", "0", "string");59 60    if (queryId) {61      Api.answerCallbackQuery({ callback_query_id: queryId });62    }63 64    let confirmUserId = user.telegramid;65    let confirmUpiId = Bot.getProperty("payment_upi_id") || "ayushrds@nyes";66 67    if ((Bot.getProperty("upi_payment_mode") || "auto") === "manual") {68      // ✋ MANUAL MODE — apna QR (Fampay ke bina)69      let pOrderId = "MANUAL" + String(Date.now());70      try { Bot.setProperty("qr_order_amount_" + pOrderId, finalAmount, "string"); } catch (e) {}71 72      let pUpiUri = "upi://pay?pa=" + encodeURIComponent(confirmUpiId) +73                    "&pn=" + encodeURIComponent(Bot.getProperty("bot_name") || "GOLDEN MODS STORE") +74                    "&am=" + encodeURIComponent(finalAmount) +75                    "&cu=INR";76      let pLogoUrl = Bot.getProperty("bot_logo_url");77      let pQrImage = "https://quickchart.io/qr?text=" + encodeURIComponent(pUpiUri) + "&size=400&margin=2" +78        (pLogoUrl ? "&centerImageUrl=" + encodeURIComponent(pLogoUrl) + "&centerImageSizeRatio=0.22" : "");79 80      let pBotDisplayName = Bot.getProperty("bot_name") || "GOLDEN SELLING STORE";81      let pGatewayMsg =82        "<blockquote>🛍️ <b>" + pBotDisplayName + " — UPI QR ACTIVE</b> 💳</blockquote>\n" +83        "➤ ───────────────────\n" +84        "<tg-emoji emoji-id='5260399854500191689'>🏪</tg-emoji> <b>Merchant Name:</b> " + pBotDisplayName + "\n\n" +85        "💰 <b>Scan &amp; pay exactly</b> ₹<code>" + finalAmount + "</code>\n\n" +86        "👉 <i>Tap <b>Verify Payment</b> below after completing payment.</i>\n" +87        "➤ ───────────────────\n" +88        "<blockquote>⏳ <b>Session expires in 5 minutes.</b></blockquote>";89 90      let pInlineButtons = [91        [{ text: "✅ VERIFY PAYMENT", callback_data: "/check " + pOrderId, style: "success", icon_custom_emoji_id: "5330237710655306682" }],92        [{ text: "Cancel Order", callback_data: "/cancel_topup " + pOrderId, style: "danger" }]93      ];94 95      try { Api.deleteMessage({ chat_id: chat.chatid, message_id: request.message.message_id }); } catch (e) {}96      let pSentMsg = Api.sendPhoto({97        chat_id: chat.chatid,98        photo: pQrImage,99        caption: pGatewayMsg,100        parse_mode: "HTML",101        reply_markup: JSON.stringify({ inline_keyboard: pInlineButtons })102      });103 104      try {105        let pQrMsgId = (pSentMsg && pSentMsg.result && pSentMsg.result.message_id) ? pSentMsg.result.message_id : (pSentMsg && pSentMsg.message_id ? pSentMsg.message_id : null);106        if (pQrMsgId) {107          Bot.setProperty("qr_msg_id_" + confirmUserId, pQrMsgId, "string");108          User.setProperty("qr_msg_id_" + confirmUserId, pQrMsgId, "string");109        }110        Bot.setProperty("qr_order_id_" + confirmUserId, pOrderId, "string");111        User.setProperty("qr_order_id_" + confirmUserId, pOrderId, "string");112        User.setProperty("pending_order_id", pOrderId, "string");113        Bot.setProperty("qr_watch_order_" + confirmUserId, pOrderId, "string");114        User.setProperty("qr_watch_order_" + confirmUserId, pOrderId, "string");115        Bot.setProperty("qr_created_ts_" + confirmUserId, String(Date.now()), "string");116      } catch (e) {}117      try { HTTP.get({url:"https://httpbin.org/delay/300?manual_press="+encodeURIComponent(pOrderId),success:"/onQRExpire",error:"/onQRExpire"}); } catch(e) {}118 119      return;120    }121 122    // ✅ AUTO MODE — Fampay QR123    User.setProperty("deposit_amount", finalAmount, "string");124 125    let pGeneratingText =126      "<blockquote>⚙ <b>Generating QR Code for ₹" + finalAmount + "...</b>\n" +127      "<i>Please wait a moment</i></blockquote>";128 129    Api.editMessageText({130      chat_id: chat.chatid,131      message_id: request.message.message_id,132      text: pGeneratingText,133      parse_mode: "HTML"134    });135 136    try {137      Bot.setProperty("gen_msg_id_" + confirmUserId, request.message.message_id, "string");138      User.setProperty("gen_msg_id_" + confirmUserId, request.message.message_id, "string");139    } catch (e) {}140 141    HTTP.get({142      url: "https://fampay.anujbots.xyz/qr.php?upi=" + encodeURIComponent(confirmUpiId) + "&amount=" + encodeURIComponent(finalAmount),143      success: "/onQR",144      error: "/onApiError"145    });146 147    return;148  }149 150  // --- KEYPAD INPUT LOGIC ---151  if (pressed == "clear") {152    if (current_amount.length > 1) {153      current_amount = current_amount.slice(0, -1);154    } else {155      current_amount = "0";156    }157  } else if (pressed !== "") {158    if (current_amount == "0") {159      current_amount = pressed;160    } else {161      if ((current_amount + pressed).length <= 6) {162        current_amount = current_amount + pressed;163      }164    }165  }166 167  // Save current keypad amount state168  User.setProperty("deposit_amount", current_amount, "string");169 170  if (queryId) {171    Api.answerCallbackQuery({ callback_query_id: queryId });172  }173 174  // 🎨 Keypad Buttons — same premium colored styling as /addfund175  let inlineKeyboardPayload = [176    [177      { text: "1", callback_data: "/press 1", style: "success", icon_custom_emoji_id: "6267068789146260253" },178      { text: "2", callback_data: "/press 2", style: "success", icon_custom_emoji_id: "6267068789146260253" },179      { text: "3", callback_data: "/press 3", style: "success", icon_custom_emoji_id: "6267068789146260253" }180    ],181    [182      { text: "4", callback_data: "/press 4", style: "success", icon_custom_emoji_id: "6267068789146260253" },183      { text: "5", callback_data: "/press 5", style: "success", icon_custom_emoji_id: "6267068789146260253" },184      { text: "6", callback_data: "/press 6", style: "success", icon_custom_emoji_id: "6267068789146260253" }185    ],186    [187      { text: "7", callback_data: "/press 7", style: "success", icon_custom_emoji_id: "6267068789146260253" },188      { text: "8", callback_data: "/press 8", style: "success", icon_custom_emoji_id: "6267068789146260253" },189      { text: "9", callback_data: "/press 9", style: "success", icon_custom_emoji_id: "6267068789146260253" }190    ],191    [192      { text: "🧹 Clear", callback_data: "/press clear", style: "danger", icon_custom_emoji_id: "5348224471050238603" },193      { text: "0", callback_data: "/press 0", style: "success", icon_custom_emoji_id: "6267068789146260253" },194      { text: "✅ Confirm", callback_data: "/press confirm", style: "success" }195    ],196    [197      // ✅ FIXED: "/dmenu" -> "/back" (dead command replaced with the real menu handler)198      { text: "𝑩𝒂𝒄𝒌", callback_data: "/back", style: "danger" }199    ]200  ];201 202  let keypadMsg =203    "<blockquote>" + e_money + " <b>ADD BALANCE — ENTER AMOUNT</b> " + e_money + "</blockquote>\n" +204    "━━━━━━━━━━━━━━━━━━━━━\n\n" +205    "💰 <b>Deposit Amount</b>\n" +206    "<blockquote><code>₹ " + Number(current_amount).toFixed(2) + "</code></blockquote>\n\n" +207    "━━━━━━━━━━━━━━━━━━━━━\n" +208    e_check + " <i>Instant Auto-Credit</i>\n" +209    "<tg-emoji emoji-id='6215386799133433653'>🔒</tg-emoji> <i>100% Secure UPI Payment</i>\n" +210    e_hour + " <i>Verified in Seconds</i>\n\n" +211    "<tg-emoji emoji-id='6100170496077204999'>👑</tg-emoji> <i>Enter your amount using the keypad below.</i>";212 213  Api.editMessageText({214    chat_id: chat.chatid,215    message_id: request.message.message_id,216    text: keypadMsg,217    parse_mode: "HTML",218    reply_markup: JSON.stringify({ inline_keyboard: inlineKeyboardPayload })219  });220 221} catch (err) {222  Bot.sendMessage("⚠️ System Error in Keypad: " + err.message);223}