tarunpoonia905/OfcDevShopBotPublic · Bot Template

ProfileTelegram

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
Back to folder

commands/_extkey_save_url.js

javascript · 77 lines

Raw
1/**#command2name: /extkey_save_url3answer: 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// 🌐 Save External Key URL19// FIX: typed input arrives via Bot.run({options:{params}}) from the wildcard20// handler, but this file only read the `params` variable (which is empty in21// that case) -> URL was never saved. Now reads options.params first, then22// params, then message.23// =========================================================24 25try {26  var ownerId = String(Bot.getProperty("owner_id") || "7127818616");27  var me = String(chat.chatid);28  var isCo = !!Bot.getProperty("co_admin_" + me);29  if (me !== ownerId && !isCo) { Bot.sendMessage("❌ Restricted command!"); return; }30 31  function esc(s) { return String(s === undefined || s === null ? "" : s).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"); }32 33  var rawIn = "";34  if (typeof options !== "undefined" && options && options.params !== undefined && options.params !== null) rawIn = String(options.params);35  else if (typeof params !== "undefined" && params) rawIn = String(params);36  else if (typeof message !== "undefined" && message) rawIn = String(message).replace(/^\/extkey_save_url\s*/i, "");37 38  // strip stray quotes/backticks/brackets that come from copy-paste39  var url = rawIn.trim().replace(/^[`"'<\[(]+|[`"'>\])]+$/g, "");40  // allow "keypanel.shop/reseller_gateway.php" (no scheme) -> add https://41  if (url && !/^https?:\/\//i.test(url) && /^[a-z0-9-]+(\.[a-z0-9-]+)+(:\d+)?(\/|$)/i.test(url)) url = "https://" + url;42 43  if (!/^https?:\/\/\S+$/i.test(url)) {44    Bot.sendMessage("❌ Ye ek valid URL nahi lag raha (http:// ya https:// se shuru hona chahiye, space nahi hona chahiye). Dubara /extkey_menu se try karo.");45    return;46  }47 48  var reg = Bot.getProperty("api_registry") || {};49  var existing = reg["default"] || {};50  reg["default"] = {51    id: "default",52    name: "External Key",53    url: url,54    api_key: existing.api_key || "",55    master_key: existing.master_key || existing.api_key || "",56    master_custom: !!existing.master_custom,57    // Detect HK MODZ's generate_key endpoint and use its required token-header contract.58    mode: (/hkmodz\.shop\/api\/v1\/generate_key\.php/i.test(url)) ? "hkmodz" : (existing.mode || "reseller_v1"),59    method: (/hkmodz\.shop\/api\/v1\/generate_key\.php/i.test(url)) ? "POST" : (existing.method || "POST"),60    extra: existing.extra || "",61    android_required: !!existing.android_required,62    policy: existing.policy || "",63    side: existing.side || "",64    user_number: existing.user_number || "",65    enabled: true,66    updated_at: new Date().toISOString()67  };68  Bot.setProperty("api_registry", reg, "json");69  Bot.setProperty("active_reseller_api", "default", "string");70 71  Bot.sendMessage("✅ URL saved!\n\n🌐 <code>" + esc(url) + "</code>\n\n" +72    ((reg["default"].mode === "hkmodz") ? "🔐 HK MODZ mode auto-selected: API token X-API-Token header se bheja jayega; connection test products.php par safe/read-only hoga." : "API mode: " + esc(reg["default"].mode)), { parse_mode: "HTML" });73  Bot.run({ command: "/extkey_menu", options: { fresh: true } });74 75} catch (err) {76  Bot.sendMessage("⚠️ Error: " + err.message);77}
commands/_extkey_save_url.js · tarunpoonia905/OfcDevShopBot · TeleDevs