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

javascript · 99 lines

Raw
1/**#command2name: /addbal3answer: 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// ✅ FIXED (v3): pehle admin_id hardcoded tha ("7127818616"), jabki baaki bot18// (start menu, /admin, ownership transfer) sab dynamic "owner_id" property use19// karte hain. Agar kabhi ownership transfer hua ya co-admin ne button dabaya,20// ye command silently "not authorized" de deta tha — isiliye "Add Bal" button21// theek se kaam nahi kar raha tha. Ab yahan bhi wahi dynamic check hai.22let admin_id = Bot.getProperty("owner_id") || "7127818616";23let requesterId = String(user.telegramid);24let isCoAdmin = Bot.getProperty("co_admin_" + requesterId);25 26if (requesterId === admin_id || isCoAdmin) {27 28    // ✅ FIXED: button dabate hi Telegram ka loading-spinner turant hata do,29    // taaki click "fast/responsive" mehsoos ho (pehle koi answerCallbackQuery30    // nahi tha, isliye button dabane par kuch second tak kuch nahi hota tha).31    if (request && request.id) {32        try {33            try { Api.answerCallbackQuery({ callback_query_id: request.id }); } catch (__a1) {}34        } catch (ackErr) {}35    }36 37    let params = (typeof message !== "undefined" && message) ? message.split(" ") : [];38    let data = params[1];39 40    // ✅ FIXED: pehle "Add Bal" admin-panel button dabane par ye seedha "Wrong41    // Format" error de deta tha (kyunki button koi text argument nahi bhejta),42    // aur admin ko turant type karna padta tha "/addbal id|amount" khud se.43    // Ab button dabane par ek proper prompt aata hai aur agla text message44    // auto-capture ho jaata hai (see _start.js "MODULE 5").45    if (!data || !data.includes("|")) {46        User.setProperty("addbal_step", "waiting_input", "string");47        Bot.sendMessage(48            "<tg-emoji emoji-id='5409048419211682843'>💵</tg-emoji> <b>Add Balance</b>\n\n" +49            "<i>User ID aur amount is format me reply karein:</i>\n<code>user_id|amount</code>\n\n" +50            "<i>Example:</i> <code>7127818616|100</code>",51            {parse_mode: "HTML"}52        );53        return;54    }55 56    let splitData = data.split("|");57    let targetUserId = splitData[0].trim();58    let amountToAdd = parseFloat(splitData[1].trim());59 60    if (!targetUserId || isNaN(amountToAdd) || amountToAdd <= 0) {61        Bot.sendMessage("❌ *Invalid Format! Use:* `user_id|amount`", {parse_mode: "Markdown"});62        return;63    }64 65    try {66        // Balance add karna67        let targetUserBalance = Libs.ResourcesLib.anotherUserRes("balance", targetUserId);68        targetUserBalance.add(amountToAdd);69 70        // Admin notification — turant confirm karo ki balance credit ho gaya71        Bot.sendMessage("✅ Success! Added " + amountToAdd + " to user " + targetUserId, {parse_mode: "HTML"});72 73        // All 4 Premium Emojis in Quote Style74        let notificationText =75            "<blockquote>" +76            "<tg-emoji emoji-id='6192822213486321961'>🗣</tg-emoji> Admin Added: " + amountToAdd + "\n" +77            "<tg-emoji emoji-id='6266967801580231067'>💎</tg-emoji> Balance Credited!\n" +78            "<tg-emoji emoji-id='6267068789146260253'>💰</tg-emoji> Wallet Updated\n" +79            "<tg-emoji emoji-id='5866053971960929280'>🛒</tg-emoji> /start TO SHOP NOW" +80            "</blockquote>";81 82        // ✅ FIXED: raw HTTP.post ki jagah bot ka built-in Api.sendMessage use kiya —83        // yahi wrapper baaki poore bot me reliably use ho raha hai, isliye user-side84        // notification bhi consistently aur fast deliver hota hai.85        try {86            Api.sendMessage({87                chat_id: targetUserId,88                text: notificationText,89                parse_mode: "HTML"90            });91        } catch (notifyErr) {}92 93    } catch (err) {94        Bot.sendMessage("⚠️ *Error:* " + err.message, {parse_mode: "Markdown"});95    }96 97} else {98    Bot.sendMessage("❌ You are not authorized to use this command.");99}
commands/_addbal.js · tarunpoonia905/OfcDevShopBot · TeleDevs