yaainnnxitstore/YASIN_XIT_BOTPublic · Bot Template

ProfileTelegram

AIYASIN XIT FREE KEY appears to be a Telegram automation bot. Commands include /menu, /addfund, /confirm_buyitem, /rembal, /sendorderkey_input, /removeproduct, /add_reseller, /addkey. Observed in code: messaging, keyboards, payments, games, libs, web.

Utilityutility
140 commands0 envUpdated 1mo agoCreated Sep 11, 2026
Back to folder

commands/_approve_manual_payment.js

javascript · 122 lines

Raw
1/**#command2name: /approve_manual_payment3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12function __money(n){var x=Number(n||0).toFixed(2).split(".");x[0]=x[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");return x.join(".");}13function __esc(v){return String(v==null?"":v).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");}14var __swfUpdate = (typeof update !== "undefined" && update) ? update : null;15var __swfCb = (__swfUpdate && __swfUpdate.callback_query) ? __swfUpdate.callback_query : null;16var __swfCbMsg = (__swfCb && __swfCb.message) ? __swfCb.message : null;17var __swfMsgId = __swfCbMsg && __swfCbMsg.message_id ? Number(__swfCbMsg.message_id) : 0;18var __swfCbId = __swfCb && __swfCb.id ? String(__swfCb.id) : "";19try {20  if (typeof request !== "undefined" && request && __swfCb) {21    if (__swfCb.message) request.message = __swfCb.message;22    if (!request.id && __swfCb.id) request.id = __swfCb.id;23  }24} catch(__swf_norm_err) {}25function __swfEditMessage(a) {26  a = a || {};27  var mid = Number(a.message_id || __swfMsgId || 0);28  var cid = a.chat_id || (typeof chat !== "undefined" && chat ? (chat.id || chat.chatid) : null);29  if (!mid || !cid) throw new Error("Callback message ID not found");30  var markup = a.reply_markup;31  if (typeof markup === "string") { try { markup = JSON.parse(markup); } catch(_) {} }32  var base = {chat_id:cid,message_id:mid,parse_mode:a.parse_mode,reply_markup:markup};33  var cm = __swfCbMsg;34  if (cm && (cm.photo || cm.video || cm.document || cm.audio || cm.animation)) {35    return Api.editMessageCaption({chat_id:cid,message_id:mid,caption:String(a.text == null ? "" : a.text),parse_mode:a.parse_mode,reply_markup:markup});36  }37  return Api.editMessageText({chat_id:cid,message_id:mid,text:String(a.text == null ? "" : a.text),parse_mode:a.parse_mode,reply_markup:markup});38}39function __uiSend(text, opts) {40  opts = opts || {};41  var req = (typeof request !== "undefined" && request) ? request : null;42  var chatId = (typeof chat !== "undefined" && chat && chat.chatid) ? chat.chatid : null;43  var isCallback = !!__swfCb;44  var mid = 0;45  if (isCallback && update.callback_query.message && update.callback_query.message.message_id) mid = Number(update.callback_query.message.message_id);46  if (!mid) { try { mid = Number(User.getProperty("pending_menu_message_id") || User.getProperty("main_menu_message_id") || User.getProperty("support_message_id") || 0); } catch(e0) { mid = 0; } }47  var markup = opts.reply_markup;48  if (markup && typeof markup !== "string") { try { markup = JSON.stringify(markup); } catch(e1) {} }49  var textValue = String(text == null ? "" : text);50  if (mid && chatId) {51    try {52      __swfEditMessage({chat_id:chatId,message_id:mid,text:textValue,parse_mode:opts.parse_mode,reply_markup:markup});53      try { User.setProperty("main_menu_message_id",String(mid),"string"); User.setProperty("pending_menu_message_id",String(mid),"string"); } catch(se) {}54      return true;55    } catch(e2) {56      var s=String(e2).toLowerCase();57      if(s.indexOf("message is not modified")>=0 || s.indexOf("not modified")>=0) return true;58      if(isCallback && update.callback_query.message && update.callback_query.message.photo) {59        try { Api.editMessageCaption({chat_id:chatId,message_id:mid,caption:textValue,parse_mode:opts.parse_mode,reply_markup:markup}); return true; } catch(e3) {60          var s3=String(e3).toLowerCase(); if(s3.indexOf("not modified")>=0) return true;61        }62      }63      if(isCallback) { try { Api.answerCallbackQuery({callback_query_id:String(update.callback_query.id),text:"⚠️ Could not update the screen.",show_alert:true}); } catch(e4) {} return false; }64    }65  }66  if (isCallback) { try { Api.answerCallbackQuery({callback_query_id:String(update.callback_query.id),text:"⚠️ Screen message not found.",show_alert:true}); } catch(e5) {} return false; }67  try {68    var sent=Api.sendMessage({chat_id:chatId,text:textValue,parse_mode:opts.parse_mode,reply_markup:markup});69    try { if(sent&&sent.message_id){User.setProperty("pending_menu_message_id",String(sent.message_id),"string");User.setProperty("main_menu_message_id",String(sent.message_id),"string");} } catch(e6) {}70    return true;71  } catch(e7) { return false; }72}73try {74  var adminId=String(Bot.getProperty("owner_id")||"8225479428");75  if(String(user.telegramid)!==adminId && !Bot.getProperty("co_admin_"+String(user.telegramid))){__uiSend("❌ This action is available to the administrator only.");return;}76  var id=String(params||"").trim(); var rec=Bot.getProperty("manual_payment_"+id);77  if (rec && typeof rec === "object") rec = Object.assign({}, rec);78  if(!rec){__uiSend("❌ Payment record not found.");return;}79  if(rec.status!=="pending_receipt"){__uiSend("⚠️ This payment is not ready for receipt review.");return;}80  var approvalLockKey="manual_payment_approval_lock_"+id;81  if(Bot.getProperty(approvalLockKey)===true){__uiSend("⏳ This payment is being processed by another administrator.");return;}82  Bot.setProperty(approvalLockKey,true,"boolean");83  if(Date.now()>Number(rec.expires_at||0)){rec.status="expired";Bot.setProperty("manual_payment_"+id,rec,"json");84  var pp=Bot.getProperty("pending_manual_payments")||[]; if(Array.isArray(pp)){ pp=pp.filter(function(x){return String(x)!==id;}); Bot.setProperty("pending_manual_payments",pp,"json"); }Api.sendMessage({chat_id:rec.user_id,text:"⏰ <b>Your request could not be approved because the payment window expired.</b>",parse_mode:"HTML"});__uiSend("⏰ The payment window has expired.");Bot.setProperty(approvalLockKey,false,"boolean");return;}85  var credit=Number(rec.amount)||0;86  var approvedBalanceRes=Libs.ResourcesLib.anotherUserRes("balance",String(rec.user_id)); approvedBalanceRes.add(credit);87  var remainingBalance=Number(approvedBalanceRes.value()||0);88  Bot.setProperty("total_deposit_by_"+String(rec.user_id), Number(Bot.getProperty("total_deposit_by_"+String(rec.user_id))||0)+credit, "number");89  rec.status="approved";rec.approved_at=new Date().toISOString();rec.credit=credit;rec.remaining_balance=remainingBalance;90  Bot.setProperty("manual_payment_"+id,rec,"json");91  try {92    var __rsUid = String(rec.user_id);93    if (Bot.getProperty("is_reseller_" + __rsUid) !== true) {94      var __rsMin = Number(Bot.getProperty("reseller_min_spend"));95      if (!isFinite(__rsMin) || __rsMin <= 0) __rsMin = 5;96      var __rsDep = Number(Bot.getProperty("total_deposit_by_" + __rsUid) || 0);97      if (__rsDep >= __rsMin) {98        var __rsPct = Number(Bot.getProperty("reseller_discount_pct")); if(!isFinite(__rsPct)||__rsPct<0||__rsPct>90) __rsPct = 20;99        Bot.setProperty("is_reseller_" + __rsUid, true, "boolean");100        Bot.setProperty("reseller_since_" + __rsUid, new Date().toISOString(), "string");101        var __rsList = Bot.getProperty("reseller_ids") || []; if(Array.isArray(__rsList))__rsList=__rsList.slice(); if (!Array.isArray(__rsList)) __rsList = [];102        if (__rsList.indexOf(__rsUid) < 0) { __rsList.push(__rsUid); Bot.setProperty("reseller_ids", __rsList, "json"); }103        try { Api.sendMessage({chat_id: __rsUid, parse_mode: "HTML", text: "\uD83C\uDF89 <b>Reseller Unlocked!</b>\n\n\uD83D\uDCB5 <b>Total deposited:</b> $" + __rsDep.toFixed(2) + "\n\uD83C\uDFF7 <b>Your discount:</b> -" + __rsPct + "% on every product\n\n\uD83D\uDE4F Open Reseller Dashboard from the main menu."}); } catch(__rsE1) {}104        try { Api.sendMessage({chat_id: String(Bot.getProperty("owner_id") || "8225479428"), parse_mode: "HTML", text: "\uD83D\uDD30 <b>New Reseller</b>\n\n\uD83C\uDD94 <code>" + __rsUid + "</code>\n\uD83D\uDCB5 Deposited: $" + __rsDep.toFixed(2)}); } catch(__rsE2) {}105      }106    }107  } catch(__rsErr) {}108  var pp2=Bot.getProperty("pending_manual_payments")||[]; if(Array.isArray(pp2)){ pp2=pp2.filter(function(x){return String(x)!==id;}); Bot.setProperty("pending_manual_payments",pp2,"json"); }109  try { Bot.setProperty(approvalLockKey,false,"boolean"); } catch(__lkErr) {}110  var methodLabel = "🟡 Binance Pay";111  Api.sendMessage({chat_id:rec.user_id,text:"✅ <b>Deposit Successful!</b>\n\n💵 <b>Amount:</b> $"+credit.toFixed(2)+"\n💳 <b>Method:</b> "+methodLabel+"\n🧾 <b>Deposit ID:</b> <code>"+id+"</code>\n💰 <b>New Balance:</b> $"+remainingBalance.toFixed(2)+"\n\n🙏 Thank you! You can start shopping now.",parse_mode:"HTML"});112  __uiSend("✅ <b>Payment approved.</b>\nUser: <code>"+rec.user_id+"</code>\nBalance added: $"+credit.toFixed(2),{parse_mode:"HTML"});113  var balanceLogId=Bot.getProperty("log_channel_id");114  if(balanceLogId) { try { Api.sendMessage({chat_id:balanceLogId,text:115    "💵 <b>[ NEW DEPOSIT RECEIVED ]</b> 💵\n\n"+116    "👤 <b>Depositor:</b> "+__esc(rec.name||"User")+(rec.username&&String(rec.username)!=="None"?" [ "+__esc(rec.username)+" ]":"")+"\n"+117    "🆔 <b>Depositor Chat ID:</b> "+String(rec.user_id)+"\n"+118    "💰 <b>Amount:</b> $"+__money(credit)+"\n"+119    "💳 <b>Transaction ID:</b> "+__esc(String(rec.pay_order_id||id))+"\n\n"+120    "✅ <b>Wallet Balance Updated Successfully!</b>\n\n"+121    "📢 @"+String(Bot.getProperty("bot_username")||"Yasin_Xit_Shop_bot"),parse_mode:"HTML"}); } catch(logSendErr) { try{Api.sendMessage({chat_id:String(Bot.getProperty("owner_id")||"8225479428"),text:"\u26A0\uFE0F Log channel delivery failed. Check it with /logtest."});}catch(dbgErr){} } }122} catch(e){try{if(typeof approvalLockKey!=="undefined")Bot.setProperty(approvalLockKey,false,"boolean");}catch(_lockErr){}__uiSend("⚠️ Approval error: "+e.message);}