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
146 commands0 envUpdated 2d agoCreated Sep 5, 2026
commands/_checkbal.js
javascript · 81 lines
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}