indrajitghosh20006/Igstore_01botPublic Β· Bot Template

ProfileTelegram

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 8h agoCreated Oct 30, 2026
Back to folder

commands/_ludospin.js

javascript Β· 158 lines

Raw
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}