tarunpoonia905/OfcDevShopBotPublic · Bot Template
AIDEV SHOP appears to be a Telegram automation bot. Commands include /confirm_delete_stock, /addstock_id, /extkey_menu, /partner_api, /apidelete, /buy_hack_cat, /admin_manage_products, /check_buy. Observed in code: messaging, keyboards, payments, libs, web, http, games.
Utilityutility
228 commands0 envUpdated 12d agoCreated Oct 18, 2026
commands/_reseller_upgrade.js
javascript · 112 lines
1/**#command2name: /reseller_upgrade3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/*#SIZE_V1*/try{(function(){var z=Bot.getProperty("ui_btn_size");var mx=z==="large"?1:(z==="medium"?2:0);if(!mx||Api.__sz)return;var NAV=/^[◀▶⬅➡«»‹›⏪⏩]|\d+\s*\/\s*\d+|prev|next|page/i;var T=function(m){try{var o=typeof m==="string"?JSON.parse(m):m;if(!o||!o.inline_keyboard)return m;var out=[],cnt=0;o.inline_keyboard.forEach(function(row){var nav=row.some(function(b){return NAV.test(String(b.text||"").trim());});if(row.length<=mx||nav){out.push(row);cnt+=row.length;return;}for(var i=0;i<row.length;i+=mx){var c=row.slice(i,i+mx);out.push(c);cnt+=c.length;}});if(cnt>100||out.length>100)return m;o.inline_keyboard=out;return typeof m==="string"?JSON.stringify(o):o;}catch(e){return m;}};["sendMessage","editMessageText","editMessageCaption","editMessageReplyMarkup","sendPhoto","sendVideo","sendAnimation","sendDocument"].forEach(function(n){var f=Api[n];if(typeof f!=="function")return;Api[n]=function(p){try{if(p&&p.reply_markup)p.reply_markup=T(p.reply_markup);}catch(e){}return f.apply(Api,arguments);};});Api.__sz=true;})();}catch(__szE){}13/*#ANIM_V1*/try{(function(){var M={party:"5046509860389126442",fire:"5104841245755180586",heart:"5159385139981059251",like:"5107584321108051014"};var a=Bot.getProperty("ui_anim");if(!a||!M[a]||Api.__an)return;var E=M[a];var OK=/PURCHASE SUCCESSFUL|PAYMENT SUCCESSFUL|Payment verified|CONGRATULATIONS/i;var priv=function(p){return p&&p.chat_id&&String(p.chat_id).charAt(0)!=="-";};["sendMessage","sendPhoto","sendVideo","sendAnimation"].forEach(function(n){var f=Api[n];if(typeof f!=="function")return;Api[n]=function(p){try{if(priv(p)&&!p.message_effect_id&&OK.test(String(p.text||p.caption||"")))p.message_effect_id=E;}catch(e){}return f.apply(Api,arguments);};});var fe=Api.editMessageText;if(typeof fe==="function"){Api.editMessageText=function(p){var r=fe.apply(Api,arguments);try{if(priv(p)&&OK.test(String(p.text||"")))Api.sendMessage({chat_id:p.chat_id,text:"🎉",message_effect_id:E});}catch(e){}return r;};}Api.__an=true;})();}catch(__anE){}14/*#PREMIUM_UI_V1*/try{(function(){if(Bot.getProperty("ui_premium")!==true||Api.__pm)return;var R=function(t,c){var s=(String(t||"")+" "+String(c||"")).toLowerCase();if(/back|cancel|close|delete|remove|clear|reject|stop|ban|exit/.test(s))return"danger";if(/pay|buy|confirm|verify|paid|add|deposit|shop|claim|yes|receive|wallet|download|update/.test(s))return"success";return"primary";};var T=function(m){try{var o=typeof m==="string"?JSON.parse(m):m;if(!o||!o.inline_keyboard)return m;o.inline_keyboard.forEach(function(row){row.forEach(function(b){if(b.copy_text||b.url||b.callback_data||b.web_app){b.style=R(b.text,b.callback_data||b.url);if(!b.icon_custom_emoji_id&&b.text&&!/^[\u2600-\u27BF\uD83C-\uD83E]/.test(String(b.text).trim())&&!/^[✦✨💎]/.test(b.text))b.text="✦ "+b.text;}});});return typeof m==="string"?JSON.stringify(o):o;}catch(e){return m;}};["sendMessage","editMessageText","editMessageCaption","editMessageReplyMarkup","sendPhoto","sendVideo","sendAnimation","sendDocument"].forEach(function(n){var f=Api[n];if(typeof f!=="function")return;Api[n]=function(p){try{if(p&&p.reply_markup)p.reply_markup=T(p.reply_markup);}catch(e){}return f.apply(Api,arguments);};});Api.__pm=true;})();}catch(__pmE){}15 16 17// =========================================================18// 👑 "Reseller Upgrade" button — premium Join-as-Reseller screen19// =========================================================20 21try {22 var userId = String(user.telegramid);23 var chatId = chat.chatid;24 25 if (Bot.getProperty("is_reseller_" + userId)) {26 Bot.sendMessage("<blockquote>💎 <b>Aap already ek Reseller hain!</b></blockquote>", { parse_mode: "HTML" });27 return;28 }29 30 if (!Bot.getProperty("reseller_system_enabled")) {31 Bot.sendMessage("❌ Reseller Upgrade system abhi available nahi hai.");32 return;33 }34 35 // ⚠️ FIX: admin ka "Set Reseller Upgrade Fee" button pehle sirf legacy key36 // (reseller_price) me save karta tha — agar wo hi set hai aur naya37 // (reseller_upgrade_price) khaali hai, usi se auto-heal kar lete hain.38 var price = Number(Bot.getProperty("reseller_upgrade_price") || Bot.getProperty("reseller_price") || 0);39 if (!price) {40 Bot.sendMessage("❌ Reseller Upgrade price admin ne abhi set nahi kiya.");41 return;42 }43 44 var unifiedBal = (function () {45 var resBal = 0;46 try { resBal = Number(Libs.ResourcesLib.userRes("balance").value()) || 0; } catch (e) {}47 var bonusBal = Number(Bot.getProperty("balance" + userId) || 0);48 return resBal + bonusBal;49 })();50 51 // ---- Safe screen show: text msg -> edit; photo/GIF/video msg -> delete + fresh send (same pattern as /buy_hack).52 function __showScreen(txt, kb, withEdit) {53 var srcMsg = (request && request.message) ? request.message : null;54 var srcMid = (srcMsg && srcMsg.message_id) ? Number(srcMsg.message_id) : null;55 var srcIsMedia = !!(srcMsg && (srcMsg.photo || srcMsg.video || srcMsg.animation || srcMsg.document));56 var payload = { chat_id: String(chatId), text: txt, parse_mode: "HTML" };57 if (kb) payload.reply_markup = JSON.stringify({ inline_keyboard: kb });58 var sent = null;59 if (srcMid && !srcIsMedia) {60 payload.message_id = srcMid;61 try { sent = Api.editMessageText(payload); } catch (e1) { sent = { ok: false, description: String(e1.message || e1) }; }62 if (sent && sent.ok === false && !/not modified/i.test(String(sent.description || ""))) {63 delete payload.message_id;64 try { sent = Api.sendMessage(payload); } catch (e2) { sent = { ok: false, description: String(e2.message || e2) }; }65 }66 } else {67 if (srcMid) { try { Api.deleteMessage({ chat_id: String(chatId), message_id: srcMid }); } catch (e3) {} }68 try { sent = Api.sendMessage(payload); } catch (e4) { sent = { ok: false, description: String(e4.message || e4) }; }69 }70 // Telegram ne reject kiya (jaise bad HTML/emoji) -> plain text fallback + owner ko reason71 if (sent && sent.ok === false && !/not modified/i.test(String(sent.description || ""))) {72 try { Api.sendMessage({ chat_id: String(Bot.getProperty("owner_id") || "7127818616"), text: "Reseller screen error (user " + userId + "): " + String(sent.description || "unknown").slice(0, 300) }); } catch (e5) {}73 try { Api.sendMessage({ chat_id: String(chatId), text: String(txt).replace(/<[^>]*>/g, ""), reply_markup: kb ? JSON.stringify({ inline_keyboard: kb }) : undefined }); } catch (e6) {}74 }75 return sent;76 }77 78 var text =79 "<blockquote><tg-emoji emoji-id='6102856637343600044'>👑</tg-emoji> <b>JOIN AS A RESELLER</b></blockquote>\n" +80 "━━━━━━━━━━━━━━━━━━━━━\n\n" +81 "<tg-emoji emoji-id='6312263493051489212'>💰</tg-emoji> <b>Upgrade Price:</b> ₹<code>" + price.toFixed(2) + "</code> <i>(one-time, permanent)</i>\n" +82 "<tg-emoji emoji-id='521095630692758910'>💳</tg-emoji> <b>Wallet Balance:</b> ₹<code>" + unifiedBal.toFixed(2) + "</code>\n\n" +83 "━━━━━━━━━━━━━━━━━━━━━\n" +84 "<b>🎁 Reseller Benefits:</b>\n" +85 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Lower prices on every product & plan\n" +86 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Priority order processing\n" +87 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Access to reseller-only stock\n" +88 "<tg-emoji emoji-id='6215386799133433653'>✔️</tg-emoji> Permanent status — ek baar upgrade, hamesha ke liye\n" +89 "━━━━━━━━━━━━━━━━━━━━━";90 91 var buttons = [];92 if (unifiedBal >= price) {93 buttons.push([{ text: "Confirm & Pay from Wallet", callback_data: "/confirm_reseller_upgrade", style: "success", icon_custom_emoji_id: "6102856637343600044" }]);94 } else {95 buttons.push([{ text: "Pay ₹" + (price - unifiedBal).toFixed(2) + " via UPI", callback_data: "/confirm_reseller_upgrade", style: "success", icon_custom_emoji_id: "521095630692758910" }]);96 }97 buttons.push([{ text: "Cancel", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }]);98 99 // ⚠️ FIX: agar parent message PHOTO/GIF hai (Store Welcome GIF feature),100 // editMessageText Telegram se chup-chaap FAIL ho jaata tha (photo caption101 // ke liye editMessageCaption chahiye, editMessageText nahi) — button click102 // karne par kuchh nahi hota tha. Ab har case me safe fallback hai: pehle103 // caption-edit try karo, phir text-edit, warna seedha nayi message bhejo.104 __showScreen(text, buttons);105 106 var queryId = request ? (request.id || (request.callback_query && request.callback_query.id)) : null;107 if (queryId) { try { Api.answerCallbackQuery({ callback_query_id: String(queryId) }); } catch (e) {} }108 109} catch (err) {110 try { Bot.sendMessage("⚠️ Error: " + err.message); } catch (e0) {}111 try { Api.sendMessage({ chat_id: String(Bot.getProperty("owner_id") || "7127818616"), text: "/reseller_upgrade error: " + err.message }); } catch (e00) {}112}