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/_addbal_all.js
javascript · 122 lines
1/**#command2name: /addbal_all3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// ✅ FIXED (v3): dynamic owner_id + co-admin check (same fix as /addbal).13let admin_id = Bot.getProperty("owner_id") || "8477746023";14let requesterId = String(user.telegramid);15let isCoAdmin = Bot.getProperty("co_admin_" + requesterId);16 17if (requesterId === admin_id || isCoAdmin) {18 19 // ✅ FIXED: instantly ack the button press so it doesn't feel stuck/slow.20 if (request && request.id) {21 try {22 HTTP.post({23 url: "https://api.telegram.org/bot" + bot.token + "/answerCallbackQuery",24 body: { callback_query_id: request.id }25 });26 } catch (ackErr) {}27 }28 29 let params = (typeof message !== "undefined" && message) ? message.split(" ") : [];30 let data = params[1];31 32 // Agar amount na mila ho, toh prompt bhejo aur agla text message33 // auto-capture ho jaayega (see _start.js "MODULE 5").34 if (!data || isNaN(parseFloat(data.trim()))) {35 // ✅ FIXED: purane atke hue admin steps clear karo pehle36 var __allAdminSteps2 = ["addbal_step","addbalall_step","rembal_step","checkbal_step",37 "set_download_link_step","set_payment_upi_step","set_payment_binance_step",38 "set_dailygift_price_step","set_refer_earn_step","set_how_link_step",39 "set_proof_link_step","set_support_link_step","give_key_step",40 "set_sale_channel_step","set_menu_emoji_step","set_welcome_message_step",41 "add_product_step"];42 for (var __si2 = 0; __si2 < __allAdminSteps2.length; __si2++) { User.setProperty(__allAdminSteps2[__si2], null, "string"); }43 User.setProperty("addbalall_step", "waiting_input", "string");44 Bot.sendMessage(45 "<tg-emoji emoji-id='5409048419211682843'>💵</tg-emoji> <b>Add Balance To ALL Users</b>\n\n" +46 "<i>Kitna amount har user ko add karna hai, sirf number bhejein:</i>\n<code>amount</code>\n\n" +47 "<i>Example:</i> <code>50</code>",48 {parse_mode: "HTML"}49 );50 return;51 }52 53 let amountToAdd = parseFloat(data.trim());54 55 if (isNaN(amountToAdd) || amountToAdd <= 0) {56 Bot.sendMessage("❌ *Invalid Amount!*", {parse_mode: "Markdown"});57 return;58 }59 60 try {61 let userList = Bot.getProperty("all_users_list") || [];62 if (!Array.isArray(userList)) { userList = []; }63 64 if (userList.length === 0) {65 Bot.sendMessage("⚠️ <b>Database Empty:</b> Abhi tak koi bhi user register nahi hua hai.", {parse_mode: "HTML"});66 return;67 }68 69 Bot.sendMessage(70 "<tg-emoji emoji-id='6147936236125298267'>⏳</tg-emoji> <b>Adding ₹" + amountToAdd + " to " + userList.length + " users, please wait...</b>",71 {parse_mode: "HTML"}72 );73 74 let notificationText =75 "<blockquote>" +76 "<tg-emoji emoji-id='6192822213486321961'>🗣</tg-emoji> Admin Added: " + amountToAdd + "\n" +77 "<tg-emoji emoji-id='6266967801580231067'>💎</tg-emoji> Balance Credited!\n" +78 "<tg-emoji emoji-id='6267068789146260253'>💰</tg-emoji> Wallet Updated\n" +79 "<tg-emoji emoji-id='5866053971960929280'>🛒</tg-emoji> /start TO SHOP NOW" +80 "</blockquote>";81 82 let successCount = 0;83 let failCount = 0;84 85 for (let i = 0; i < userList.length; i++) {86 let targetUserId = userList[i];87 try {88 // Balance add karna89 let targetUserBalance = Libs.ResourcesLib.anotherUserRes("balance", targetUserId);90 targetUserBalance.add(amountToAdd);91 successCount++;92 93 // ✅ FIXED: raw HTTP.post ki jagah Api.sendMessage — zyada reliable delivery.94 try {95 Api.sendMessage({96 chat_id: targetUserId,97 text: notificationText,98 parse_mode: "HTML"99 });100 } catch (notifyErr) {101 // Notification fail hone se balance-add process nahi rukna chahiye102 }103 } catch (userErr) {104 failCount++;105 }106 }107 108 Bot.sendMessage(109 "✅ <b>Bulk Add Balance Complete!</b>\n\n" +110 "💰 <b>Amount per user:</b> ₹" + amountToAdd + "\n" +111 "👥 <b>Success:</b> " + successCount + "\n" +112 "⚠️ <b>Failed:</b> " + failCount,113 {parse_mode: "HTML"}114 );115 116 } catch (err) {117 Bot.sendMessage("⚠️ *Error:* " + err.message, {parse_mode: "Markdown"});118 }119 120} else {121 Bot.sendMessage("❌ You are not authorized to use this command.");122}