ashoksarande3/ASHOK_HACK_STORE_BOTPublic ยท Bot Template

AIThis bot operates as a commercial storefront for selling Free Fire game hacks and cheats via UPI QR code payments. It features a dynamic pricing system with separate normal and reseller prices, product plans with flexible durations (days, hours, minutes), and a reseller program requiring a one-time upgrade fee. The bot handles payment verification through QR code generation and expiry tracking, user verification via Telegram contact sharing, and admin tools for stock management, plan creation, and ownership transfer. It includes a balance system, maintenance mode, and Telegram Stars payment fallback. The codebase uses TeleBotHost's TBL JavaScript APIs (Bot, Api, HTTP, db properties, Libs) for all logic.

Commercefreefiregame-hacksupi-paymentsqr-codesreseller-systemdynamic-pricing
ProfileTelegram
102 commands0 envUpdated 16d agoCreated Aug 22, 2026
Back to folder

commands/_ludospin.js

javascript ยท 117 lines

Raw
1/**#command2name: /ludospin3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13  var userId = user.telegramid;14  var chatId = chat.chatid;15  16  // ๐Ÿ•’ 24-HOUR COOLDOWN SYSTEM CORE17  var lastSpinTime = User.getProperty("last_ludo_spin_time"); 18  var currentTime = new Date().getTime(); 19  var cooldownMs = 24 * 60 * 60 * 1000; 20 21  if (lastSpinTime) {22    var timePassed = currentTime - Number(lastSpinTime);23    24    if (timePassed < cooldownMs) {25      // Kitna time bacha hai calculate karein26      var timeLeftMs = cooldownMs - timePassed;27      var totalSeconds = Math.floor(timeLeftMs / 1000);28      var hours = Math.floor(totalSeconds / 3600);29      var minutes = Math.floor((totalSeconds % 3600) / 60);30      var seconds = totalSeconds % 60;31 32      // ๐Ÿ›‘ COOLDOWN ALERT WITH YOUR NEW PREMIUM EMOJIS33      var cooldownText = "<blockquote>" +34                         "<tg-emoji emoji-id='5893163582194978381'>โŒ</tg-emoji> <b>ACCESS DENIED!</b>\n" +35                         "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n\n" +36                         "๐Ÿ‘‹ Hello <b>" + user.first_name + "</b>, aap aaj ka spin pehle hi use kar chuke hain!\n\n" +37                         "<tg-emoji emoji-id='5260450573768990626'>โžก๏ธ</tg-emoji> <b>Next Spin Available In:</b>\n" +38                         "<code>" + hours + " Hours, " + minutes + " Minutes, " + seconds + " Seconds</code>\n\n" +39                         "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n" +40                         "<tg-emoji emoji-id='6194911182499881916'>๐Ÿ—ฃ</tg-emoji> <i>Har user ko 24 ghante me sirf 1 spin milta hai.</i>" +41                         "</blockquote>";42 43      var cooldownButtons = [[44        { text: "Back to Menu", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }45      ]];46 47      if (request && request.message && request.message.message_id) {48        Api.editMessageText({49          chat_id: String(chatId),50          message_id: Number(request.message.message_id),51          text: cooldownText,52          parse_mode: "HTML",53          reply_markup: JSON.stringify({ inline_keyboard: cooldownButtons })54        });55      } else {56        Api.sendMessage({57          chat_id: String(chatId),58          text: cooldownText,59          parse_mode: "HTML",60          reply_markup: JSON.stringify({ inline_keyboard: cooldownButtons })61        });62      }63      return; // Execution stops here64    }65  }66 67  // ๐ŸŽฒ RANDOM REWARD GENERATOR (0.1 se 0.6)68  var randomReward = (Math.random() * (0.6 - 0.1) + 0.1).toFixed(2);69  var rewardAmount = Number(randomReward);70 71  // ๐Ÿ’ฐ ADD REWARD TO USER WALLET72  Libs.ResourcesLib.userRes("balance").add(rewardAmount);73  74  // ๐Ÿ’พ SAVE CURRENT TIME TO PREVENT NEXT SPIN75  User.setProperty("last_ludo_spin_time", currentTime, "number");76  77  // New balance state check78  var updatedBal = Libs.ResourcesLib.userRes("balance").value().toFixed(2);79 80  // ๐Ÿ’Ž MULTI-PREMIUM INTERFACE LAYOUT (Success Screen)81  var spinText = "<blockquote>" +82                 "<tg-emoji emoji-id='6192822213486321961'>๐ŸŽฒ</tg-emoji> <b>LUDO SPIN RESULTS</b>\n" +83                 "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n\n" +84                 "<tg-emoji emoji-id='6298298582982199311'>๐ŸŽฐ</tg-emoji> <i>The dice is rolling... and stopped!</i>\n\n" +85                 "<tg-emoji emoji-id='6194922667242429131'>๐ŸŽ‰</tg-emoji> <b>Congratulations " + user.first_name + "!</b>\n" +86                 "<tg-emoji emoji-id='6064514463564831610'>๐Ÿ’Ÿ</tg-emoji> <b>You Won:</b> <code>Ref. โ‚น" + rewardAmount.toFixed(2) + "</code>\n\n" +87                 "โ”โ”โ”โ”โ” <tg-emoji emoji-id='5346024644635804737'>๐Ÿ”ฐ</tg-emoji> <b>WALLET UPDATE</b> โ”โ”โ”โ”โ”\n" +88                 "<tg-emoji emoji-id='6064138396228392033'>๐Ÿ’ต</tg-emoji> <b>New Wallet Balance:</b> โ‚น" + updatedBal + "\n\n" +89                 "<tg-emoji emoji-id='6194911182499881916'>๐Ÿ—ฃ</tg-emoji> <i>Come back again to test your luck!</i>\n" +90                 "<tg-emoji emoji-id='6143299028655280273'>โ˜ </tg-emoji> <tg-emoji emoji-id='6039605143601680423'>๐Ÿ“ž</tg-emoji> <b>Support Available 24/7</b>" +91                 "</blockquote>";92 93  var inlineButtons = [[94    { text: "Back to Menu", callback_data: "/back", style: "danger", icon_custom_emoji_id: "5893163582194978381" }95  ]];96 97  // Spin feedback send/edit handler98  if (request && request.message && request.message.message_id) {99    Api.editMessageText({100      chat_id: String(chatId),101      message_id: Number(request.message.message_id),102      text: spinText,103      parse_mode: "HTML",104      reply_markup: JSON.stringify({ inline_keyboard: inlineButtons })105    });106  } else {107    Api.sendMessage({108      chat_id: String(chatId),109      text: spinText,110      parse_mode: "HTML",111      reply_markup: JSON.stringify({ inline_keyboard: inlineButtons })112    });113  }114 115} catch (err) {116  Bot.sendMessage("โš ๏ธ <b>Spin System Error:</b> <code>" + err.message + "</code>", { parse_mode: "HTML" });117}