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/_onApiError.js
javascript · 69 lines
1/**#command2name: /onApiError3answer: 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// ❌ QR gateway request failed (timeout / HTTP error / gateway down).19// ✅ BUG FIX: ye command pehle exist hi nahi karta tha, jabki /addbal_fampay,20// /addbal_upi, /pay_fampay, /pay_upi sab error: "/onApiError" set karte the.21// Result: gateway fail hone par "Generating QR..." message hamesha atka rehta tha.22// Ab "Generating..." message hat-ta hai aur user ko retry/back buttons milte hain.23// =========================================================24 25try {26 var userId = user.telegramid;27 var chatId = chat.chatid;28 var ownerId = String(Bot.getProperty("owner_id") || "7127818616");29 30 var genMsgId = null;31 try { genMsgId = Bot.getProperty("gen_msg_id_" + userId) || User.getProperty("gen_msg_id_" + userId); } catch (e) {}32 if (!genMsgId) { return; } // QR already aa chuka / already handled33 34 try { Api.deleteMessage({ chat_id: chatId, message_id: genMsgId }); } catch (e) {}35 Bot.setProperty("gen_msg_id_" + userId, null, "string");36 User.setProperty("gen_msg_id_" + userId, null, "string");37 38 var raw = "";39 try { raw = (typeof content === "string") ? content : JSON.stringify(content || ""); } catch (e) {}40 var rawEsc = String(raw || "no response / timeout (connection error ya gateway down)").replace(/&/g, "&").replace(/</g, "<").slice(0, 500);41 42 var userText = "<blockquote>❌ <b>QR generate nahi ho paya</b></blockquote>\n\n<i>Payment gateway abhi respond nahi kar raha. Thodi der baad dobara try karo ya dusra payment method chuno.</i>";43 // When the admin is the one testing, there's no separate "owner" chat to44 // notify - show the raw diagnostic right here instead of silently45 // dropping it (the old code only sent this to a chat_id that, in this46 // case, never existed as "someone else").47 if (String(userId) === ownerId) {48 userText += "\n\n⚠️ <b>Debug (owner only):</b>\n<code>" + rawEsc + "</code>";49 }50 51 Api.sendMessage({52 chat_id: chatId,53 parse_mode: "HTML",54 text: userText,55 reply_markup: JSON.stringify({ inline_keyboard: [[{ text: "🔄 Try Again", callback_data: "/addfund", style: "success" }], [{ text: "⬅️ Back to Menu", callback_data: "/back", style: "danger" }]] })56 });57 58 // Non-admin user failed -> notify the real owner separately, with a59 // gateway-neutral hint instead of the old FamPay-only text.60 if (String(userId) !== ownerId) {61 Api.sendMessage({62 chat_id: ownerId,63 parse_mode: "HTML",64 text: "⚠️ <b>Gateway QR error</b> (user <code>" + userId + "</code>)\n<code>" + rawEsc + "</code>\n\n<i>Check the relevant gateway's config in /admin → Payment Gateways (URL/API key/account status).</i>"65 });66 }67} catch (err) {68 try { Bot.sendMessage("⚠️ Gateway error: " + err.message); } catch (e2) {}69}