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

javascript · 75 lines

Raw
1/**#command2name: /reseller_upgrade3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// =========================================================13// 👑 "Reseller Upgrade" button — premium Join-as-Reseller screen14// =========================================================15 16try {17  var userId = String(user.telegramid);18  var chatId = chat.chatid;19 20  if (Bot.getProperty("is_reseller_" + userId)) {21    Bot.sendMessage("<blockquote>💎 <b>Aap already ek Reseller hain!</b></blockquote>", { parse_mode: "HTML" });22    return;23  }24 25  if (!Bot.getProperty("reseller_system_enabled")) {26    Bot.sendMessage("❌ Reseller Upgrade system abhi available nahi hai.");27    return;28  }29 30  var price = Number(Bot.getProperty("reseller_upgrade_price") || 0);31  if (!price) {32    Bot.sendMessage("❌ Reseller Upgrade price admin ne abhi set nahi kiya.");33    return;34  }35 36  var unifiedBal = (function () {37    var resBal = 0;38    try { resBal = Number(Libs.ResourcesLib.userRes("balance").value()) || 0; } catch (e) {}39    var bonusBal = Number(Bot.getProperty("balance" + userId) || 0);40    return resBal + bonusBal;41  })();42 43  var text =44    "<blockquote><tg-emoji emoji-id='6102856637343600044'>👑</tg-emoji> <b>JOIN AS A RESELLER</b></blockquote>\n" +45    "━━━━━━━━━━━━━━━━━━━━━\n\n" +46    "<tg-emoji emoji-id='6312263493051489212'>💰</tg-emoji> <b>Upgrade Price:</b> ₹<code>" + price.toFixed(2) + "</code> <i>(one-time, permanent)</i>\n" +47    "<tg-emoji emoji-id='521095630692758910'>💳</tg-emoji> <b>Wallet Balance:</b> ₹<code>" + unifiedBal.toFixed(2) + "</code>\n\n" +48    "━━━━━━━━━━━━━━━━━━━━━\n" +49    "<b>🎁 Reseller Benefits:</b>\n" +50    "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Lower prices on every product & plan\n" +51    "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Priority order processing\n" +52    "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Access to reseller-only stock\n" +53    "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Permanent status — ek baar upgrade, hamesha ke liye\n" +54    "━━━━━━━━━━━━━━━━━━━━━";55 56  var buttons = [];57  if (unifiedBal >= price) {58    buttons.push([{ text: "Confirm & Pay from Wallet", callback_data: "/confirm_reseller_upgrade", style: "success" }]);59  } else {60    buttons.push([{ text: "Pay ₹" + (price - unifiedBal).toFixed(2) + " via UPI", callback_data: "/confirm_reseller_upgrade", style: "success" }]);61  }62  buttons.push([{ text: "Cancel", callback_data: "/back", style: "danger" }]);63 64  if (request && request.message) {65    Api.editMessageText({ chat_id: String(chatId), message_id: Number(request.message.message_id), text: text, parse_mode: "HTML", reply_markup: JSON.stringify({ inline_keyboard: buttons }) });66  } else {67    Api.sendMessage({ chat_id: chatId, text: text, parse_mode: "HTML", reply_markup: JSON.stringify({ inline_keyboard: buttons }) });68  }69 70  var queryId = request ? (request.id || (request.callback_query && request.callback_query.id)) : null;71  if (queryId) { try { Api.answerCallbackQuery({ callback_query_id: String(queryId) }); } catch (e) {} }72 73} catch (err) {74  Bot.sendMessage("⚠️ Error: " + err.message);75}