kkapil9112/Aestheticmodes9_botPublic · Bot Template
AIA Telegram-based digital goods store bot with a full admin panel for managing products, plans, stock, keys, categories, resellers, balances, and coupons. It uses TeleBotHost APIs like Bot, Api, User, Libs.ResourcesLib, and HTTP to run a shop interface, handle admin-only commands, track users, and send inventory/balance summaries. The implementation appears focused on selling game-related accounts and keys such as FreeFire items, with customer-facing store, balance, coupon, and back-to-menu flows.
Commerceshopadmin-panelbalanceresellercouponsstock-management
102 commands1 envUpdated 29d agoCreated Aug 9, 2026
commands/_reseller_upgrade.js
javascript · 75 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 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", icon_custom_emoji_id: "6102856637343600044" }]);59 } else {60 buttons.push([{ text: "Pay ₹" + (price - unifiedBal).toFixed(2) + " via UPI", callback_data: "/confirm_reseller_upgrade", style: "success", icon_custom_emoji_id: "521095630692758910" }]);61 }62 buttons.push([{ text: "Cancel", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }]);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}