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

javascript · 167 lines

Raw
1/**#command2name: /aiadd_result3answer: 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// Step 3 of AI Add Product: parse the AI's JSON, build the plan list, ask panel name.18try {19  var me = String(chat.chatid);20  var st = User.getProperty("aiadd_state");21  if (typeof st === "string") { try { st = JSON.parse(st); } catch (e) { st = null; } }22  if (!st || st.step !== "processing") { return; }23 24  function esc(s) { return String(s === undefined || s === null ? "" : s).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"); }25  function fail(msg) {26    st.step = "photo"; st.plans = []; st.t = Date.now();27    User.setProperty("aiadd_state", st, "json");28    Api.sendMessage({ chat_id: me, parse_mode: "HTML", text: "❌ " + msg + "\n\n<i>Saaf screenshot dobara bhejo ya /aiadd se dubara try karo.</i>",29      reply_markup: JSON.stringify({ inline_keyboard: [[{ text: "❌ Cancel", callback_data: "/aiadd cancel", style: "danger" }]] }) });30  }31 32  // Website ka exact duration naam (jaise "1 Hours") - key kharidte waqt API ko yahi bheja jata hai.33  function cleanApi(t, dv, unit) {34    t = String(t === null || t === undefined ? "" : t).replace(/\s+/g, " ").trim();35    if (!t || t.length > 60) return "";36    var m = t.match(/^([0-9]+(?:\.[0-9]+)?)\s*([A-Za-z])/);37    if (!m || parseFloat(m[1]) !== dv) return "";38    if (m[2].toLowerCase() !== (unit === "hour" ? "h" : unit === "minute" ? "m" : "d")) return "";39    return t;40  }41 42  var body = null;43  try { body = (typeof content === "object" && content) ? content : JSON.parse(content); } catch (pe) {}44  if (!body) { fail("AI ka jawab samajh nahi aaya."); return; }45  if (body.error) { fail("AI error: " + esc(body.error.message || body.error.type || "unknown") + "\n<i>Check karo ki model image (vision) support karta hai.</i>"); return; }46 47  var msg = body.choices && body.choices[0] && body.choices[0].message;48  var txt = msg ? msg.content : "";49  if (Array.isArray(txt)) { txt = txt.map(function (x) { return (x && x.text) ? x.text : ""; }).join(""); }50  txt = String(txt || "");51  var s = txt.indexOf("{"), e2 = txt.lastIndexOf("}");52  var data = null;53  if (s !== -1 && e2 > s) { try { data = JSON.parse(txt.slice(s, e2 + 1)); } catch (je) {} }54  // =========================================================================55  // 🧾 2-SCREENSHOT MODE: shot 1 = NAAM + PRICE, shot 2 = DURATION + STOCK + PID.56  // Dono ko merge karke plans banate hain; uske baad sirf Public/Reseller price puchta hai.57  // =========================================================================58  if (st.mode === "two") {59    var shotN = Number(st.shot) || 1;60    if (!data) { fail("AI ka jawab samajh nahi aaya."); return; }61    var unitOf = function (du) { du = String(du || "").toLowerCase(); return /^h/.test(du) ? "hour" : (/^m/.test(du) ? "minute" : "day"); };62    var durLabel = function (dv, unit) { var one = dv === 1; return dv + (unit === "hour" ? (one ? " Hour" : " Hours") : unit === "minute" ? (one ? " Minute" : " Minutes") : (one ? " Day" : " Days")); };63    var curOf = function (c) { c = String(c || "").toUpperCase(); if (c.indexOf("INR") !== -1 || c.indexOf("RS") !== -1 || c.indexOf("\u20b9") !== -1) return "INR"; if (c.indexOf("USD") !== -1 || c.indexOf("$") !== -1) return "USD"; return ""; };64 65    if (shotN === 1) {66      var pr = Array.isArray(data.prices) ? data.prices : [], plist = [];67      for (var a = 0; a < pr.length; a++) {68        var q = pr[a] || {};69        var qamt = parseFloat(String(q.price === null || q.price === undefined ? "" : q.price).replace(/[^0-9.]/g, ""));70        var qcur = curOf(q.currency);71        if (!(qamt > 0) || !qcur) continue;72        var qdv = parseFloat(q.duration_value), qunit = unitOf(q.duration_unit);73        plist.push({ dv: qdv > 0 ? qdv : 0, unit: qunit, dur: qdv > 0 ? durLabel(qdv, qunit) : "", cur: qcur, amt: qamt });74      }75      if (!plist.length) { fail("Screenshot 1 me price nahi mila. Naam + price wala saaf screenshot bhejo."); return; }76      var pn1 = String(data.panel_name || "").replace(/\s+/g, " ").replace(/\|/g, "").trim().slice(0, 60);77      st.s1 = { pn: pn1, prices: plist };78      st.pn = pn1;79      st.shot = 2; st.step = "photo"; st.plans = []; st.warn = ""; st.t = Date.now();80      User.setProperty("aiadd_state", st, "json");81      Bot.run({ command: "/aiadd", options: { ai_render: true } });82      return;83    }84 85    // ---- shot 2: rows + merge with shot 1 prices86    var rows = [], bad2 = 0, seen2 = {};87    var src2 = Array.isArray(data.plans) ? data.plans : [];88    for (var b = 0; b < src2.length; b++) {89      var r = src2[b] || {};90      var rpid = String(r.pid === null || r.pid === undefined ? "" : r.pid).replace(/\s+/g, "");91      var rdv = parseFloat(r.duration_value), runit = unitOf(r.duration_unit);92      if (!/^[A-Za-z0-9_\-]{1,40}$/.test(rpid) || !(rdv > 0)) { bad2++; continue; }93      var rdur = durLabel(rdv, runit);94      if (seen2[rdur]) { bad2++; continue; }95      seen2[rdur] = 1;96      var rst = parseFloat(String(r.stock === null || r.stock === undefined ? "" : r.stock).replace(/[^0-9.]/g, ""));97      rows.push({ dv: rdv, unit: runit, dur: rdur, pid: rpid, api: cleanApi(r.duration_text, rdv, runit), stock: isFinite(rst) ? rst : null });98    }99    if (!rows.length) { fail("Screenshot 2 me koi valid plan (PID + duration) nahi mila. Durations + stock + PID wala saaf screenshot bhejo."); return; }100 101    var s1p = (st.s1 && st.s1.prices) ? st.s1.prices : [];102    var plans2 = [], noPrice = 0, oneForAll = false, noApi = 0;103    for (var k = 0; k < rows.length; k++) {104      var row = rows[k], mt = null;105      for (var z = 0; z < s1p.length; z++) { if (s1p[z].dv === row.dv && s1p[z].unit === row.unit) { mt = s1p[z]; break; } }106      if (!mt && s1p.length === rows.length) mt = s1p[k];107      if (!mt && s1p.length === 1) { mt = s1p[0]; oneForAll = true; }108      var item = { dur: row.dur, pid: row.pid, cur: mt ? mt.cur : "INR", amt: mt ? mt.amt : 0 };109      if (row.api) item.api = row.api; else noApi++;110      if (row.stock !== null) item.stock = row.stock;111      if (!mt) noPrice++;112      plans2.push(item);113    }114    var warns = [];115    if (bad2) warns.push(bad2 + " row padhi nahi ja saki / duplicate thi, skip kar di.");116    if (oneForAll && rows.length > 1) warns.push("Screenshot 1 me ek hi price tha, wahi cost sab plans par laga diya.");117    if (noApi) warns.push(noApi + " plan ka exact duration naam padh nahi paya, normal naam (jaise 1 Hour) use hua. Confirm screen par \"API naam\" check kar lena.");118    if (noPrice) warns.push(noPrice + " plan ka cost screenshot 1 se match nahi hua (Cost ₹0 dikhega) — apna price khud daalo.");119    st.plans = plans2;120    st.pn = (st.s1 && st.s1.pn) ? st.s1.pn : (st.pn || "");121    st.warn = warns.join(" ");122    if (st.pn) { st.step = "pub"; st.i = 0; } else { st.step = "name"; }123    st.t = Date.now();124    User.setProperty("aiadd_state", st, "json");125    Bot.run({ command: "/aiadd", options: { ai_render: true } });126    return;127  }128 129  if (!data || !Array.isArray(data.plans)) { fail("AI screenshot se plans nahi nikaal paya."); return; }130 131  var plans = [], bad = 0, seen = {}, noApi1 = 0;132  for (var i = 0; i < data.plans.length; i++) {133    var p = data.plans[i] || {};134    var pid = String(p.pid === null || p.pid === undefined ? "" : p.pid).replace(/\s+/g, "");135    var dv = parseFloat(p.duration_value);136    var du = String(p.duration_unit || "day").toLowerCase();137    var cur = String(p.currency || "").toUpperCase();138    var rawPrice = (p.price !== undefined && p.price !== null) ? p.price : p.usd;139    var amt = parseFloat(String(rawPrice === null || rawPrice === undefined ? "" : rawPrice).replace(/[^0-9.]/g, ""));140    if (cur.indexOf("INR") !== -1 || cur.indexOf("RS") !== -1 || cur.indexOf("\u20b9") !== -1) cur = "INR";141    else if (cur.indexOf("USD") !== -1 || cur.indexOf("$") !== -1) cur = "USD";142    else if (p.price === undefined && p.usd !== undefined) cur = "USD";143    else cur = "";144    if (!/^[A-Za-z0-9_\-]{1,40}$/.test(pid) || !(dv > 0) || !(amt > 0) || !cur) { bad++; continue; }145    var unit = /^h/.test(du) ? "hour" : (/^m/.test(du) ? "minute" : "day");146    var one = dv === 1;147    var dur = dv + (unit === "hour" ? (one ? " Hour" : " Hours") : unit === "minute" ? (one ? " Minute" : " Minutes") : (one ? " Day" : " Days"));148    if (seen[dur]) { bad++; continue; }149    seen[dur] = 1;150    var apiN = cleanApi(p.duration_text, dv, unit);151    if (!apiN) noApi1++;152    plans.push({ dur: dur, pid: pid, cur: cur, amt: amt, api: apiN || undefined });153  }154  if (!plans.length) { fail("Koi valid plan (PID + time + price/currency) nahi mila."); return; }155 156  var pn = String(data.panel_name || "").replace(/\s+/g, " ").replace(/\|/g, "").trim().slice(0, 60);157  st.plans = plans;158  st.pn = pn;159  st.warn = (bad ? (bad + " row padhi nahi ja saki / duplicate thi, skip kar di. Screenshot se match kar lena. ") : "") + (noApi1 ? (noApi1 + " plan ka exact duration naam padh nahi paya, normal naam use hua. Confirm screen par \"API naam\" check kar lena.") : "");160  // Name AI ne padh liya to khud use karo (confirm nahi puchna) - seedha public price pe jao.161  if (pn) { st.step = "pub"; st.i = 0; } else { st.step = "name"; }162  st.t = Date.now();163  User.setProperty("aiadd_state", st, "json");164  Bot.run({ command: "/aiadd", options: { ai_render: true } });165} catch (err) {166  Bot.sendMessage("⚠️ AI Add Error: " + err.message);167}
commands/_aiadd_result.js · tarunpoonia905/OfcDevShopBot · TeleDevs