indrajitghosh20006/Testseller_01botPublic · Bot Template
AIThis bot provides an admin‑controlled system for managing user balances, products, and reseller roles. It includes commands to add balances (via manual input, Binance Pay, or UPI), approve and credit payments, and set up product listings with categories and pricing. Admins can also add resellers, view reseller info, and manage stock entries. The bot uses built‑in TeleBotHost APIs such as Bot, Api, HTTP, and Libs for database operations and message handling.
Commerceadminbalanceproductresellerpaymentsbinance
138 commands0 envUpdated 17h agoCreated Sep 27, 2026
commands/_checkbal.js
javascript · 72 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") || "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}