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

javascript · 127 lines

Raw
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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");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}
commands/_deposit_history.js · tarunpoonia905/OfcDevShopBot · TeleDevs