indrajitghosh20006/HgfhhuybotPublic · Bot Template

ProfileTelegram

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
Back to folder

commands/_checkbal.js

javascript · 72 lines

Raw
1/**#command2name: /checkbal3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13  // ✅ FIXED (v3): dynamic owner_id + co-admin check (same fix as /addbal).14  var adminId = Bot.getProperty("owner_id") || "7839151435";15  var isCoAdmin = Bot.getProperty("co_admin_" + String(chat.chatid));16  if (String(chat.chatid) !== adminId && !isCoAdmin) return;17 18  // ✅ FIXED: instantly ack the button press so it doesn't feel stuck/slow.19  if (request && request.id) {20    try {21      HTTP.post({22        url: "https://api.telegram.org/bot" + bot.token + "/answerCallbackQuery",23        body: { callback_query_id: request.id }24      });25    } catch (ackErr) {}26  }27 28  // Expected Usage: /checkbalance USER_ID29  var targetId = params ? params.trim() : null;30 31  // ✅ FIXED: same button-click bug as /addbal — ab prompt aata hai.32  if (!targetId || isNaN(targetId)) {33    User.setProperty("checkbal_step", "waiting_input", "string");34    Bot.sendMessage(35      "<tg-emoji emoji-id='6039605143601680423'>📊</tg-emoji> <b>Check Balance</b>\n\n" +36      "<i>Jis user ka balance check karna hai uski User ID reply karein:</i>\n<code>8875810358</code>",37      { parse_mode: "HTML" }38    );39    return;40  }41 42  // 👤 NAME & USERNAME DEFAULT FALLBACKS43  var name = "N/A";44  var username = "N/A";45 46  // Agar admin apni khud ki ID check kar raha hai tabhi user metadata direct load hoga47  if (String(targetId) === String(user.telegramid)) {48    name = user.first_name || "N/A";49    username = user.username ? "@" + user.username : "N/A";50  }51 52  // 💰 WALLET BALANCE REGISTERS FETCH53  var userResBalance = Libs.ResourcesLib.anotherUserRes("balance", targetId).value() || 0;54  var totalUserBal = Number(userResBalance).toFixed(2);55 56  // 📉 TOTAL EXPENSE NODE TRACKING (Total Invest mapping)57  var totalSpent = Bot.getProperty("total_spent_by_" + targetId) || 0;58  var formattedSpent = Number(totalSpent).toFixed(2);59 60  // 📄 FINAL RESPONSE BOX61  var messageText = "<blockquote><b><tg-emoji emoji-id='6039605143601680423'>📞</tg-emoji> USER ACCOUNT DETAILS</b>\n\n" +62                    "• <b>Name:</b> " + name + "\n" +63                    "• <b>Username:</b> " + username + "\n" +64                    "• <b>User ID:</b> <code>" + targetId + "</code>\n" +65                    "• <b>Balance:</b> <code>₹" + totalUserBal + "</code>\n" +66                    "• <b>Total Invest:</b> <code>₹" + formattedSpent + "</code></blockquote>";67 68  Bot.sendMessage(messageText, { parse_mode: "HTML" });69 70} catch (err) {71  Bot.sendMessage("⚠️ Error: " + err.message);72}