yaainnnxitstore/YASIN_XIT_BOTPublic · Bot Template
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
commands/_approve_manual_payment.js
javascript · 122 lines
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,"&").replace(/</g,"<").replace(/>/g,">");}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);}