indrajitghosh20006/Igstore_01botPublic Β· Bot Template
AIThe bot provides an admin interface for a digital store, allowing the owner or coβadmins to add balances, products, plans, and categories. It supports payment workflows via UPI and Binance Pay, automatically generating QR codes and handling manual approval of deposits. The code patches inline keyboards to use premium emoji icons and includes helper functions for user and bot properties. Overall, it serves as a commerce management tool for a Telegram-based storefront.
Commercestoreadminbalanceproductplancategory
170 commands0 envUpdated 7h agoCreated Oct 30, 2026
commands/_ludospin.js
javascript Β· 158 lines
1/**#command2name: /ludospin3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12// PREMIUM BUTTON ICONS13(function(){14 try {15 if (!JSON.__premiumPatched) {16 var __origStringify = JSON.stringify;17 JSON.stringify = function(value, replacer, space) {18 try {19 if (value && value.inline_keyboard && Array.isArray(value.inline_keyboard)) {20 var premiumIds = [21 "6143444134125379822",22 "6091379307907652768",23 "6147534454819661264",24 "6147817325660741985",25 "6235683689292897318",26 "6102856637343600044"27 ];28 var rows = value.inline_keyboard.map(function(row, ri) {29 if (!Array.isArray(row)) return row;30 return row.map(function(btn, bi) {31 if (!btn || typeof btn !== "object") return btn;32 var copy = {};33 for (var k in btn) copy[k] = btn[k];34 if (!copy.icon_custom_emoji_id) copy.icon_custom_emoji_id = premiumIds[(ri + bi) % premiumIds.length];35 return copy;36 });37 });38 var cloned = {};39 for (var key in value) cloned[key] = value[key];40 cloned.inline_keyboard = rows;41 return __origStringify.call(JSON, cloned, replacer, space);42 }43 } catch (e) {}44 return __origStringify.call(JSON, value, replacer, space);45 };46 JSON.__premiumPatched = true;47 }48 } catch (e) {}49})();50 51 52 53try {54 var userId = user.telegramid;55 var chatId = chat.chatid;56 57 // π 24-HOUR COOLDOWN SYSTEM CORE58 var lastSpinTime = User.getProperty("last_ludo_spin_time"); 59 var currentTime = new Date().getTime(); 60 var cooldownMs = 24 * 60 * 60 * 1000; 61 62 if (lastSpinTime) {63 var timePassed = currentTime - Number(lastSpinTime);64 65 if (timePassed < cooldownMs) {66 // Kitna time bacha hai calculate karein67 var timeLeftMs = cooldownMs - timePassed;68 var totalSeconds = Math.floor(timeLeftMs / 1000);69 var hours = Math.floor(totalSeconds / 3600);70 var minutes = Math.floor((totalSeconds % 3600) / 60);71 var seconds = totalSeconds % 60;72 73 // π COOLDOWN ALERT WITH YOUR NEW PREMIUM EMOJIS74 var cooldownText = "<blockquote>" +75 "<tg-emoji emoji-id='5893163582194978381'>β</tg-emoji> <b>ACCESS DENIED!</b>\n" +76 "βββββββββββββββββββββ\n\n" +77 "π Hello <b>" + user.first_name + "</b>, aap aaj ka spin pehle hi use kar chuke hain!\n\n" +78 "<tg-emoji emoji-id='5260450573768990626'>β‘οΈ</tg-emoji> <b>Next Spin Available In:</b>\n" +79 "<code>" + hours + " Hours, " + minutes + " Minutes, " + seconds + " Seconds</code>\n\n" +80 "βββββββββββββββββββββ\n" +81 "<tg-emoji emoji-id='6194911182499881916'>π£</tg-emoji> <i>Har user ko 24 ghante me sirf 1 spin milta hai.</i>" +82 "</blockquote>";83 84 var cooldownButtons = [[85 { text: "Back to Menu", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }86 ]];87 88 if (request && request.message && request.message.message_id) {89 Api.editMessageText({90 chat_id: String(chatId),91 message_id: Number(request.message.message_id),92 text: cooldownText,93 parse_mode: "HTML",94 reply_markup: JSON.stringify({ inline_keyboard: cooldownButtons })95 });96 } else {97 Api.sendMessage({98 chat_id: String(chatId),99 text: cooldownText,100 parse_mode: "HTML",101 reply_markup: JSON.stringify({ inline_keyboard: cooldownButtons })102 });103 }104 return; // Execution stops here105 }106 }107 108 // π² RANDOM REWARD GENERATOR (0.1 se 0.6)109 var randomReward = (Math.random() * (0.6 - 0.1) + 0.1).toFixed(2);110 var rewardAmount = Number(randomReward);111 112 // π° ADD REWARD TO USER WALLET113 Libs.ResourcesLib.userRes("balance").add(rewardAmount);114 115 // πΎ SAVE CURRENT TIME TO PREVENT NEXT SPIN116 User.setProperty("last_ludo_spin_time", currentTime, "number");117 118 // New balance state check119 var updatedBal = Libs.ResourcesLib.userRes("balance").value().toFixed(2);120 121 // π MULTI-PREMIUM INTERFACE LAYOUT (Success Screen)122 var spinText = "<blockquote>" +123 "<tg-emoji emoji-id='6192822213486321961'>π²</tg-emoji> <b>LUDO SPIN RESULTS</b>\n" +124 "βββββββββββββββββββββ\n\n" +125 "<tg-emoji emoji-id='6298298582982199311'>π°</tg-emoji> <i>The dice is rolling... and stopped!</i>\n\n" +126 "<tg-emoji emoji-id='6194922667242429131'>π</tg-emoji> <b>Congratulations " + user.first_name + "!</b>\n" +127 "<tg-emoji emoji-id='6064514463564831610'>π</tg-emoji> <b>You Won:</b> <code>Ref. βΉ" + rewardAmount.toFixed(2) + "</code>\n\n" +128 "βββββ <tg-emoji emoji-id='5346024644635804737'>π°</tg-emoji> <b>WALLET UPDATE</b> βββββ\n" +129 "<tg-emoji emoji-id='6064138396228392033'>π΅</tg-emoji> <b>New Wallet Balance:</b> βΉ" + updatedBal + "\n\n" +130 "<tg-emoji emoji-id='6194911182499881916'>π£</tg-emoji> <i>Come back again to test your luck!</i>\n" +131 "<tg-emoji emoji-id='6143299028655280273'>β </tg-emoji> <tg-emoji emoji-id='6039605143601680423'>π</tg-emoji> <b>Support Available 24/7</b>" +132 "</blockquote>";133 134 var inlineButtons = [[135 { text: "Back to Menu", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }136 ]];137 138 // Spin feedback send/edit handler139 if (request && request.message && request.message.message_id) {140 Api.editMessageText({141 chat_id: String(chatId),142 message_id: Number(request.message.message_id),143 text: spinText,144 parse_mode: "HTML",145 reply_markup: JSON.stringify({ inline_keyboard: inlineButtons })146 });147 } else {148 Api.sendMessage({149 chat_id: String(chatId),150 text: spinText,151 parse_mode: "HTML",152 reply_markup: JSON.stringify({ inline_keyboard: inlineButtons })153 });154 }155 156} catch (err) {157 Bot.sendMessage("β οΈ <b>Spin System Error:</b> <code>" + err.message + "</code>", { parse_mode: "HTML" });158}