indrajitghosh20006/HgfhhuybotPublic · Bot Template
AIThis bot provides a command‑based admin interface for managing user balances, products, and resellers. It supports adding balances via UPI or Binance Pay, approving payments, and configuring product details and categories. The bot also handles user role changes, stock uploads, and offers a simple calculator UI for entering amounts. All interactions are handled through short commands and inline keyboards, with no long‑running listeners or external frameworks.
Utilityadminbalanceproductresellerpaymentupi
138 commands0 envUpdated 15h agoCreated Sep 27, 2026
commands/_onBuyQR.js
javascript · 122 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 totalUserBal = userBal;51 52 var needpay = Number(User.getProperty("buy_needpay") || (price > totalUserBal ? price - totalUserBal : 0));53 var prodName = User.getProperty("buy_prod_name") || "Product";54 55 try {56 var genMsgid = Bot.getProperty("gen_msg_id_" + userId);57 if (genMsgid) {58 Api.deleteMessage({ chat_id: chat.chatid, message_id: genMsgid });59 Bot.setProperty("gen_msg_id_" + userId, null, "string");60 }61 } catch (e) {}62 63 var gatewayMsg = 64 "<tg-emoji emoji-id='6267225207560214192'>⚠️</tg-emoji><b>PAYMENT GATEWAY</b>\n\n" +65 "<tg-emoji emoji-id='6147767796097884213'>🏷️</tg-emoji><b>Product:</b> " + prodName + "\n" +66 "<tg-emoji emoji-id='6041705726206808304'>💰</tg-emoji><b>Price:</b> ₹" + price.toFixed(2) + "\n" +67 "<tg-emoji emoji-id='5348392971207194994'>💳</tg-emoji><b>Balance:</b> ₹" + totalUserBal.toFixed(2) + "\n" +68 "<tg-emoji emoji-id='619491118249881916'>📥</tg-emoji><b>Pay Now:</b> ₹" + needpay.toFixed(2) + "\n" +69 "<tg-emoji emoji-id='6266866272848321043'>⏳</tg-emoji><b>Expire Time:</b> <code>" + expire + "</code>\n\n" +70 "<tg-emoji emoji-id='5330237710655306682'>⚡</tg-emoji><b>Scan QR & pay exact amount</b>\n";71 72 var inlineButtons = [73 [74 {75 text: "I have paid",76 callback_data: "/check_buy " + order_id,77 style: "success",78 icon_custom_emoji_id: "5330237710655306682"79 },80 {81 text: "Cancel Order",82 callback_data: "/cancel_buy " + order_id,83 style: "danger",84 icon_custom_emoji_id: "6219547832169273793"85 }86 ]87 ];88 89 var sentQrMsg;90 try {91 sentQrMsg = Api.sendPhoto({92 chat_id: chat.chatid,93 photo: qr,94 caption: gatewayMsg,95 parse_mode: "HTML",96 reply_markup: JSON.stringify({ inline_keyboard: inlineButtons })97 });98 } catch (photoErr) {99 Api.sendMessage({100 chat_id: chat.chatid,101 text: "❌ <b>sendPhoto failed</b>\nQR URL: <code>" + qr + "</code>\nError: <code>" + photoErr.message + "</code>",102 parse_mode: "HTML"103 });104 return;105 }106 107 try {108 if (sentQrMsg) {109 var qrMsgId = sentQrMsg.result ? sentQrMsg.result.message_id : sentQrMsg.message_id;110 if (qrMsgId) {111 Bot.setProperty("buy_qr_msg_id_" + userId, qrMsgId, "string");112 User.setProperty("buy_pending_order_id", order_id, "string");113 }114 }115 } catch (e) {}116} catch (err) {117 Api.sendMessage({118 chat_id: chat.chatid,119 text: "⚠️ <b>System Error:</b> <code>" + (err && err.message ? err.message : String(err)) + "</code>",120 parse_mode: "HTML"121 });122}