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/_set_discount.js
javascript · 137 lines
1/**#command2name: /set_discount3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12var __swfUpdate = (typeof update !== "undefined" && update) ? update : null;13var __swfCb = (__swfUpdate && __swfUpdate.callback_query) ? __swfUpdate.callback_query : null;14var __swfCbMsg = (__swfCb && __swfCb.message) ? __swfCb.message : null;15var __swfMsgId = __swfCbMsg && __swfCbMsg.message_id ? Number(__swfCbMsg.message_id) : 0;16var __swfCbId = __swfCb && __swfCb.id ? String(__swfCb.id) : "";17try {18 if (typeof request !== "undefined" && request && __swfCb) {19 if (__swfCb.message) request.message = __swfCb.message;20 if (!request.id && __swfCb.id) request.id = __swfCb.id;21 }22} catch(__swf_norm_err) {}23function __swfEditMessage(a) {24 a = a || {};25 var mid = Number(a.message_id || __swfMsgId || 0);26 var cid = a.chat_id || (typeof chat !== "undefined" && chat ? (chat.id || chat.chatid) : null);27 if (!mid || !cid) throw new Error("Callback message ID not found");28 var markup = a.reply_markup;29 if (typeof markup === "string") { try { markup = JSON.parse(markup); } catch(_) {} }30 var base = {chat_id:cid,message_id:mid,parse_mode:a.parse_mode,reply_markup:markup};31 var cm = __swfCbMsg;32 if (cm && (cm.photo || cm.video || cm.document || cm.audio || cm.animation)) {33 return Api.editMessageCaption({chat_id:cid,message_id:mid,caption:String(a.text == null ? "" : a.text),parse_mode:a.parse_mode,reply_markup:markup});34 }35 return Api.editMessageText({chat_id:cid,message_id:mid,text:String(a.text == null ? "" : a.text),parse_mode:a.parse_mode,reply_markup:markup});36}37function __uiSend(text, opts) {38 opts = opts || {};39 var req = (typeof request !== "undefined" && request) ? request : null;40 var chatId = (typeof chat !== "undefined" && chat && chat.chatid) ? chat.chatid : null;41 var isCallback = !!__swfCb;42 var mid = 0;43 if (isCallback && update.callback_query.message && update.callback_query.message.message_id) mid = Number(update.callback_query.message.message_id);44 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; } }45 var markup = opts.reply_markup;46 if (markup && typeof markup !== "string") { try { markup = JSON.stringify(markup); } catch(e1) {} }47 var textValue = String(text == null ? "" : text);48 if (mid && chatId) {49 try {50 __swfEditMessage({chat_id:chatId,message_id:mid,text:textValue,parse_mode:opts.parse_mode,reply_markup:markup});51 try { User.setProperty("main_menu_message_id",String(mid),"string"); User.setProperty("pending_menu_message_id",String(mid),"string"); } catch(se) {}52 return true;53 } catch(e2) {54 var s=String(e2).toLowerCase();55 if(s.indexOf("message is not modified")>=0 || s.indexOf("not modified")>=0) return true;56 if(isCallback && update.callback_query.message && update.callback_query.message.photo) {57 try { Api.editMessageCaption({chat_id:chatId,message_id:mid,caption:textValue,parse_mode:opts.parse_mode,reply_markup:markup}); return true; } catch(e3) {58 var s3=String(e3).toLowerCase(); if(s3.indexOf("not modified")>=0) return true;59 }60 }61 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; }62 }63 }64 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; }65 try {66 var sent=Api.sendMessage({chat_id:chatId,text:textValue,parse_mode:opts.parse_mode,reply_markup:markup});67 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) {}68 return true;69 } catch(e7) { return false; }70}71try {72 var ownerId = Bot.getProperty("owner_id") || "8225479428";73 var isCoAdmin = Bot.getProperty("co_admin_" + String(chat.chatid));74 if (String(chat.chatid) !== ownerId && !isCoAdmin) {75 __uiSend("❌ Restricted command!");76 return;77 }78 if (!params || params.trim() === "") {79 __uiSend(80 "⚠️ <b>Format:</b>\n" +81 "<code>/set_discount global | 10</code> (10% on everything)\n" +82 "<code>/set_discount PRODUCT NAME | all | 15</code> (on the whole product)\n" +83 "<code>/set_discount PRODUCT NAME | 1d | 20</code> (on the 1 Day plan only)\n" +84 "<code>/set_discount PRODUCT NAME | 1d | remove</code> (to remove)",85 { parse_mode: "HTML" }86 );87 return;88 }89 var parts = params.split("|").map(function (p) { return p.trim(); });90 if (parts[0].toLowerCase() === "global") {91 var pct = parts[1];92 if (!pct || pct.toLowerCase() === "remove") {93 Bot.setProperty("auto_discount_global", null, "number");94 __uiSend("✅ Global discount removed.", { parse_mode: "HTML" });95 return;96 }97 var pctVal = parseFloat(pct);98 if (isNaN(pctVal) || pctVal <= 0 || pctVal > 100) { __uiSend("❌ A valid percentage is required (1-100)."); return; }99 Bot.setProperty("auto_discount_global", pctVal, "number");100 __uiSend("✅ <b>Global Discount set:</b> -" + pctVal + "% (applies to all products and plans)", { parse_mode: "HTML" });101 return;102 }103 if (parts.length < 3) {104 __uiSend("⚠️ Format: <code>/set_discount PRODUCT NAME | DURATION | PERCENT</code>", { parse_mode: "HTML" });105 return;106 }107 var prodNameUpper = parts[0].toUpperCase();108 var scopeKey;109 if (parts[1].toLowerCase() === "all") {110 scopeKey = "ALL";111 } else {112 var durMatch = parts[1].toLowerCase().match(/^([0-9]+(?:\.[0-9]+)?)\s*(h|hr|hrs|hour|hours|m|min|mins|minute|minutes|d|day|days)?$/);113 var dVal = durMatch ? durMatch[1] : parts[1].replace(/[^0-9.]/g, "");114 var uRaw = durMatch ? (durMatch[2] || "d") : "d";115 var uNorm = /^h/.test(uRaw) ? "HOUR" : /^m/.test(uRaw) ? "MINUTE" : "DAY";116 scopeKey = dVal + "_" + uNorm;117 }118 var pctOrRemove = parts[2];119 var propKey = "auto_discount_" + prodNameUpper + "_" + scopeKey;120 if (pctOrRemove.toLowerCase() === "remove") {121 Bot.setProperty(propKey, null, "number");122 __uiSend("✅ Discount removed: <code>" + parts[0] + " (" + parts[1] + ")</code>", { parse_mode: "HTML" });123 return;124 }125 var pctVal2 = parseFloat(pctOrRemove);126 if (isNaN(pctVal2) || pctVal2 <= 0 || pctVal2 > 100) { __uiSend("❌ A valid percentage is required (1-100)."); return; }127 Bot.setProperty(propKey, pctVal2, "number");128 __uiSend(129 "<blockquote>✅ <b>Discount Set!</b></blockquote>\n\n" +130 "📦 <b>Product:</b> " + parts[0] + "\n" +131 "⏳ <b>Scope:</b> " + (scopeKey === "ALL" ? "Entire Product (all plans)" : parts[1]) + "\n" +132 "💸 <b>Discount:</b> -" + pctVal2 + "%",133 { parse_mode: "HTML" }134 );135} catch (err) {136 __uiSend("⚠️ Error: " + err.message);137}