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

javascript · 81 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") || "8477746023";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    // ✅ FIXED: purane atke hue admin steps clear karo pehle34    var __allAdminSteps2 = ["addbal_step","addbalall_step","rembal_step","checkbal_step",35    "set_download_link_step","set_payment_upi_step","set_payment_binance_step",36    "set_dailygift_price_step","set_refer_earn_step","set_how_link_step",37    "set_proof_link_step","set_support_link_step","give_key_step",38    "set_sale_channel_step","set_menu_emoji_step","set_welcome_message_step",39    "add_product_step"];40    for (var __si2 = 0; __si2 < __allAdminSteps2.length; __si2++) { User.setProperty(__allAdminSteps2[__si2], null, "string"); }41    User.setProperty("checkbal_step", "waiting_input", "string");42    Bot.sendMessage(43      "<tg-emoji emoji-id='6039605143601680423'>📊</tg-emoji> <b>Check Balance</b>\n\n" +44      "<i>Jis user ka balance check karna hai uski User ID reply karein:</i>\n<code>8477746023</code>",45      { parse_mode: "HTML" }46    );47    return;48  }49 50  // 👤 NAME & USERNAME DEFAULT FALLBACKS51  var name = "N/A";52  var username = "N/A";53 54  // Agar admin apni khud ki ID check kar raha hai tabhi user metadata direct load hoga55  if (String(targetId) === String(user.telegramid)) {56    name = user.first_name || "N/A";57    username = user.username ? "@" + user.username : "N/A";58  }59 60  // 💰 WALLET BALANCE REGISTERS FETCH61  var userResBalance = Libs.ResourcesLib.anotherUserRes("balance", targetId).value() || 0;62  var adminCustomBal = Bot.getProperty("balance" + targetId) || 0;63  var totalUserBal = (Number(userResBalance) + Number(adminCustomBal)).toFixed(2);64 65  // 📉 TOTAL EXPENSE NODE TRACKING (Total Invest mapping)66  var totalSpent = Bot.getProperty("total_spent_by_" + targetId) || 0;67  var formattedSpent = Number(totalSpent).toFixed(2);68 69  // 📄 FINAL RESPONSE BOX70  var messageText = "<blockquote><b><tg-emoji emoji-id='6039605143601680423'>📞</tg-emoji> USER ACCOUNT DETAILS</b>\n\n" +71                    "• <b>Name:</b> " + name + "\n" +72                    "• <b>Username:</b> " + username + "\n" +73                    "• <b>User ID:</b> <code>" + targetId + "</code>\n" +74                    "• <b>Balance:</b> <code>₹" + totalUserBal + "</code>\n" +75                    "• <b>Total Invest:</b> <code>₹" + formattedSpent + "</code></blockquote>";76 77  Bot.sendMessage(messageText, { parse_mode: "HTML" });78 79} catch (err) {80  Bot.sendMessage("⚠️ Error: " + err.message);81}