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 18h agoCreated Sep 27, 2026
commands/_reseller_upgrade.js
javascript · 74 lines
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 return resBal;40 })();41 42 var text =43 "<blockquote><tg-emoji emoji-id='6102856637343600044'>👑</tg-emoji> <b>JOIN AS A RESELLER</b></blockquote>\n" +44 "━━━━━━━━━━━━━━━━━━━━━\n\n" +45 "<tg-emoji emoji-id='6312263493051489212'>💰</tg-emoji> <b>Upgrade Price:</b> ₹<code>" + price.toFixed(2) + "</code> <i>(one-time, permanent)</i>\n" +46 "<tg-emoji emoji-id='521095630692758910'>💳</tg-emoji> <b>Wallet Balance:</b> ₹<code>" + unifiedBal.toFixed(2) + "</code>\n\n" +47 "━━━━━━━━━━━━━━━━━━━━━\n" +48 "<b>🎁 Reseller Benefits:</b>\n" +49 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Lower prices on every product & plan\n" +50 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Priority order processing\n" +51 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Access to reseller-only stock\n" +52 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Permanent status — ek baar upgrade, hamesha ke liye\n" +53 "━━━━━━━━━━━━━━━━━━━━━";54 55 var buttons = [];56 if (unifiedBal >= price) {57 buttons.push([{ text: "Confirm & Pay from Wallet", callback_data: "/confirm_reseller_upgrade", style: "success", icon_custom_emoji_id: "6102856637343600044" }]);58 } else {59 buttons.push([{ text: "Pay ₹" + (price - unifiedBal).toFixed(2) + " via UPI", callback_data: "/confirm_reseller_upgrade", style: "success", icon_custom_emoji_id: "521095630692758910" }]);60 }61 buttons.push([{ text: "Cancel", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }]);62 63 if (request && request.message) {64 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 }) });65 } else {66 Api.sendMessage({ chat_id: chatId, text: text, parse_mode: "HTML", reply_markup: JSON.stringify({ inline_keyboard: buttons }) });67 }68 69 var queryId = request ? (request.id || (request.callback_query && request.callback_query.id)) : null;70 if (queryId) { try { Api.answerCallbackQuery({ callback_query_id: String(queryId) }); } catch (e) {} }71 72} catch (err) {73 Bot.sendMessage("⚠️ Error: " + err.message);74}