ashoksarande3/ASHOK_HACK_STORE_BOTPublic · Bot Template
AIThis bot operates as a commercial storefront for selling Free Fire game hacks and cheats via UPI QR code payments. It features a dynamic pricing system with separate normal and reseller prices, product plans with flexible durations (days, hours, minutes), and a reseller program requiring a one-time upgrade fee. The bot handles payment verification through QR code generation and expiry tracking, user verification via Telegram contact sharing, and admin tools for stock management, plan creation, and ownership transfer. It includes a balance system, maintenance mode, and Telegram Stars payment fallback. The codebase uses TeleBotHost's TBL JavaScript APIs (Bot, Api, HTTP, db properties, Libs) for all logic.
commands/_onBuyQR.js
javascript · 123 lines
1/**#command2name: /onBuyQR3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13 if (!content) { 14 Api.sendMessage({ 15 chat_id: chat.chatid, 16 text: "❌ Error: No response from payment server. Please try again later.", 17 parse_mode: "HTML" 18 }); 19 return; 20 }21 22 var res;23 try {24 res = (typeof content === "object") ? content : JSON.parse(content);25 } catch (parseErr) {26 Api.sendMessage({27 chat_id: chat.chatid,28 text: "❌ <b>QR Parse Failed</b>\n<code>" + String(content).substring(0, 500) + "</code>",29 parse_mode: "HTML"30 });31 return;32 }33 34 if (!res || res.status !== "success" || !res.data) {35 Api.sendMessage({36 chat_id: chat.chatid,37 text: "<tg-emoji emoji-id='6219547832169273793'>❌</tg-emoji><b>QR Generation Failed</b>\n<code>" + JSON.stringify(res).substring(0, 500) + "</code>",38 parse_mode: "HTML"39 });40 return;41 }42 43 var order_id = res.data.order_id || res.data.orderid;44 var qr = res.data.qr_url || res.data.qrurl;45 var expire = res.data.expires_at_ist || res.data.expiresatist || "5 Minutes";46 var userId = user.telegramid;47 48 var price = Number(User.getProperty("buy_price") || 0);49 var userBal = Number(Libs.ResourcesLib.userRes("balance").value() || 0);50 var bonusBal = Number(Bot.getProperty("balance" + userId) || 0);51 var totalUserBal = userBal + bonusBal;52 53 var needpay = Number(User.getProperty("buy_needpay") || (price > totalUserBal ? price - totalUserBal : 0));54 var prodName = User.getProperty("buy_prod_name") || "Product";55 56 try {57 var genMsgid = Bot.getProperty("gen_msg_id_" + userId);58 if (genMsgid) {59 Api.deleteMessage({ chat_id: chat.chatid, message_id: genMsgid });60 Bot.setProperty("gen_msg_id_" + userId, null, "string");61 }62 } catch (e) {}63 64 var gatewayMsg = 65 "<tg-emoji emoji-id='6267225207560214192'>⚠️</tg-emoji><b>PAYMENT GATEWAY</b>\n\n" +66 "<tg-emoji emoji-id='6147767796097884213'>🏷️</tg-emoji><b>Product:</b> " + prodName + "\n" +67 "<tg-emoji emoji-id='6041705726206808304'>💰</tg-emoji><b>Price:</b> ₹" + price.toFixed(2) + "\n" +68 "<tg-emoji emoji-id='5348392971207194994'>💳</tg-emoji><b>Balance:</b> ₹" + totalUserBal.toFixed(2) + "\n" +69 "<tg-emoji emoji-id='619491118249881916'>📥</tg-emoji><b>Pay Now:</b> ₹" + needpay.toFixed(2) + "\n" +70 "<tg-emoji emoji-id='6266866272848321043'>⏳</tg-emoji><b>Expire Time:</b> <code>" + expire + "</code>\n\n" +71 "<tg-emoji emoji-id='5330237710655306682'>⚡</tg-emoji><b>Scan QR & pay exact amount</b>\n";72 73 var inlineButtons = [74 [75 {76 text: "I have paid",77 callback_data: "/check_buy " + order_id,78 style: "success",79 icon_custom_emoji_id: "5330237710655306682"80 },81 {82 text: "Cancel Order",83 callback_data: "/cancel_buy " + order_id,84 style: "danger",85 icon_custom_emoji_id: "6219547832169273793"86 }87 ]88 ];89 90 var sentQrMsg;91 try {92 sentQrMsg = Api.sendPhoto({93 chat_id: chat.chatid,94 photo: qr,95 caption: gatewayMsg,96 parse_mode: "HTML",97 reply_markup: JSON.stringify({ inline_keyboard: inlineButtons })98 });99 } catch (photoErr) {100 Api.sendMessage({101 chat_id: chat.chatid,102 text: "❌ <b>sendPhoto failed</b>\nQR URL: <code>" + qr + "</code>\nError: <code>" + photoErr.message + "</code>",103 parse_mode: "HTML"104 });105 return;106 }107 108 try {109 if (sentQrMsg) {110 var qrMsgId = sentQrMsg.result ? sentQrMsg.result.message_id : sentQrMsg.message_id;111 if (qrMsgId) {112 Bot.setProperty("buy_qr_msg_id_" + userId, qrMsgId, "string");113 User.setProperty("buy_pending_order_id", order_id, "string");114 }115 }116 } catch (e) {}117} catch (err) {118 Api.sendMessage({119 chat_id: chat.chatid,120 text: "⚠️ <b>System Error:</b> <code>" + (err && err.message ? err.message : String(err)) + "</code>",121 parse_mode: "HTML"122 });123}