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/_deposit_history.js
javascript · 127 lines
1/**#command2name: /deposit_history3answer: 4keyboard: 5parse_mode: html6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13 var ownerId = String(Bot.getProperty("owner_id") || "7127818616");14 var requesterId = String((typeof chat !== "undefined" && chat && chat.chatid) ? chat.chatid :15 ((typeof user !== "undefined" && user && user.telegramid) ? user.telegramid : ""));16 if ((requesterId !== ownerId && !Bot.getProperty("co_admin_" + String(requesterId)))) {17 Bot.sendMessage("❌ <b>Access Denied</b>\nOnly the Owner/Admin can view All Deposit History.", {parse_mode:"HTML"});18 return;19 }20 21 function esc(v) {22 return String(v == null ? "" : v)23 .replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");24 }25 function num(v) {26 var n = Number(v);27 return isFinite(n) ? n : 0;28 }29 function istDate(ts) {30 var d = new Date(Number(ts) || Date.now());31 return new Date(d.toLocaleString("en-US", {timeZone:"Asia/Kolkata"}));32 }33 function dayKey(ts) {34 var d = new Date(Number(ts) || Date.now());35 var parts = new Intl.DateTimeFormat("en-CA", {36 timeZone:"Asia/Kolkata", year:"numeric", month:"2-digit", day:"2-digit"37 }).formatToParts(d);38 var o={}; parts.forEach(function(x){ if(x.type!=="literal") o[x.type]=x.value; });39 return o.year+"-"+o.month+"-"+o.day;40 }41 function niceDate(key) {42 var p=String(key).split("-");43 return p.length===3 ? p[2]+"-"+p[1]+"-"+p[0] : key;44 }45 function niceTime(ts) {46 try {47 return new Intl.DateTimeFormat("en-IN", {48 timeZone:"Asia/Kolkata", day:"2-digit", month:"2-digit", year:"numeric",49 hour:"2-digit", minute:"2-digit", second:"2-digit", hour12:true50 }).format(new Date(Number(ts)||Date.now()));51 } catch(e) { return new Date(Number(ts)||Date.now()).toLocaleString("en-IN"); }52 }53 54 var rows = Bot.getProperty("deposit_history_records");55 if (!Array.isArray(rows)) rows = [];56 rows = rows.filter(function(x){ return x && Number(x.ts) > 0; });57 58 var now = Date.now();59 var today = dayKey(now);60 var yesterday = dayKey(now - 86400000);61 var todayTotal=0, yesterdayTotal=0, allTotal=0;62 var todayCount=0, yesterdayCount=0;63 rows.forEach(function(x){64 var a=num(x.amount); allTotal+=a;65 var k=dayKey(x.ts);66 if(k===today){ todayTotal+=a; todayCount++; }67 if(k===yesterday){ yesterdayTotal+=a; yesterdayCount++; }68 });69 70 rows.sort(function(a,b){ return Number(b.ts)-Number(a.ts); });71 72 var page = Number((typeof params!=="undefined" && params && params.page) || 1);73 if (!isFinite(page) || page < 1) page=1;74 page=Math.floor(page);75 var perPage=8;76 var totalPages=Math.max(1,Math.ceil(rows.length/perPage));77 if(page>totalPages) page=totalPages;78 var start=(page-1)*perPage;79 var shown=rows.slice(start,start+perPage);80 81 var text =82 "┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n" +83 "┃ 💰 <b>ALL DEPOSIT HISTORY</b> ┃\n" +84 "┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n\n" +85 "📅 <b>Today:</b> "+niceDate(today)+"\n" +86 "💵 <b>Today Deposit:</b> ₹"+todayTotal.toFixed(2)+" • "+todayCount+" payment(s)\n" +87 "📅 <b>Yesterday:</b> "+niceDate(yesterday)+"\n" +88 "💵 <b>Yesterday Deposit:</b> ₹"+yesterdayTotal.toFixed(2)+" • "+yesterdayCount+" payment(s)\n\n" +89 "📦 <b>Total Deposit Transactions:</b> "+rows.length+"\n" +90 "💰 <b>Total Deposit Amount:</b> ₹"+allTotal.toFixed(2)+"\n" +91 "━━━━━━━━━━━━━━━━━━━━━━━━━━\n";92 93 if(!shown.length) {94 text += "\n<i>No successful deposits recorded yet.</i>";95 } else {96 shown.forEach(function(x,i){97 text += "\n<b>"+(start+i+1)+". ₹"+num(x.amount).toFixed(2)+" • "+esc(x.gateway||"Unknown")+"</b>\n" +98 "👤 <b>Name:</b> "+esc(x.name||"Not available")+"\n" +99 "🆔 <b>User ID:</b> <code>"+esc(x.user_id||"N/A")+"</code>\n" +100 "📧 <b>Email:</b> "+esc(x.email||"Not provided")+"\n" +101 "🧾 <b>UTR:</b> <code>"+esc(x.utr||"N/A")+"</code>\n" +102 "🔖 <b>Order:</b> <code>"+esc(x.order_id||"N/A")+"</code>\n" +103 "🕒 <b>Time:</b> "+esc(niceTime(x.ts))+"\n";104 });105 }106 107 text += "\n━━━━━━━━━━━━━━━━━━━━━━━━━━\n" +108 "📄 <b>Page "+page+" / "+totalPages+"</b>\n" +109 "<i>Today/Yesterday totals automatically change at 12:00 AM IST.</i>";110 111 var kb=[];112 var nav=[];113 if(page>1) nav.push({text:"⬅️ Previous",callback_data:"/deposit_history page="+(page-1),style:"primary"});114 if(page<totalPages) nav.push({text:"Next ➡️",callback_data:"/deposit_history page="+(page+1),style:"primary"});115 if(nav.length) kb.push(nav);116 kb.push([{text:"🔄 Refresh Live History",callback_data:"/deposit_history page="+page,style:"success"}]);117 kb.push([{text:"⬅️ Admin Panel",callback_data:"/admin",style:"primary"}]);118 119 Api.sendMessage({120 chat_id: requesterId,121 text:text,122 parse_mode:"HTML",123 reply_markup:JSON.stringify({inline_keyboard:kb})124 });125} catch(e) {126 Bot.sendMessage("⚠️ Deposit history error: "+String(e.message||e));127}