kkapil9112/Hguuuuuv45botPublic · Bot Template

AITelegram commerce bot for an admin-managed digital store: admins create categories, products, time-based plans, stock entries and license keys, and can grant reseller roles or adjust user balances. End users can view their balance, start a deposit flow with an inline amount keypad, apply coupon codes, and navigate back to the store menu. It uses Bot properties for product/stock/coupon data and Libs.ResourcesLib for per-user balances.

Commercecommerceshopreselleradmin-panelbalanceproduct-management
ProfileTelegram
102 commands0 envUpdated 29d agoCreated Aug 7, 2026
Back to folder

commands/_checkbal.js

javascript · 61 lines

Raw
1/**#command2name: /checkbal3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13  var adminId = "8812621370"; // Aapki Admin ID14  if (String(chat.chatid) !== adminId) return;15 16  // Expected Usage: /checkbalance USER_ID17  var targetId = params ? params.trim() : null;18 19  // ✅ FIXED: same button-click bug as /addbal — ab prompt aata hai.20  if (!targetId || isNaN(targetId)) {21    User.setProperty("checkbal_step", "waiting_input", "string");22    Bot.sendMessage(23      "<tg-emoji emoji-id='6039605143601680423'>📊</tg-emoji> <b>Check Balance</b>\n\n" +24      "<i>Jis user ka balance check karna hai uski User ID reply karein:</i>\n<code>6191635812</code>",25      { parse_mode: "HTML" }26    );27    return;28  }29 30  // 👤 NAME & USERNAME DEFAULT FALLBACKS31  var name = "N/A";32  var username = "N/A";33 34  // Agar admin apni khud ki ID check kar raha hai tabhi user metadata direct load hoga35  if (String(targetId) === String(user.telegramid)) {36    name = user.first_name || "N/A";37    username = user.username ? "@" + user.username : "N/A";38  }39 40  // 💰 WALLET BALANCE REGISTERS FETCH41  var userResBalance = Libs.ResourcesLib.anotherUserRes("balance", targetId).value() || 0;42  var adminCustomBal = Bot.getProperty("balance" + targetId) || 0;43  var totalUserBal = (Number(userResBalance) + Number(adminCustomBal)).toFixed(2);44 45  // 📉 TOTAL EXPENSE NODE TRACKING (Total Invest mapping)46  var totalSpent = Bot.getProperty("total_spent_by_" + targetId) || 0;47  var formattedSpent = Number(totalSpent).toFixed(2);48 49  // 📄 FINAL RESPONSE BOX50  var messageText = "<blockquote><b><tg-emoji emoji-id='6039605143601680423'>📞</tg-emoji> USER ACCOUNT DETAILS</b>\n\n" +51                    "• <b>Name:</b> " + name + "\n" +52                    "• <b>Username:</b> " + username + "\n" +53                    "• <b>User ID:</b> <code>" + targetId + "</code>\n" +54                    "• <b>Balance:</b> <code>₹" + totalUserBal + "</code>\n" +55                    "• <b>Total Invest:</b> <code>₹" + formattedSpent + "</code></blockquote>";56 57  Bot.sendMessage(messageText, { parse_mode: "HTML" });58 59} catch (err) {60  Bot.sendMessage("⚠️ Error: " + err.message);61}