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/_viewpack.js

javascript Β· 128 lines

Raw
1/**#command2name: /viewpack3answer: 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 53// Command: /viewpack54if (user.telegramid !== "7839151435") {55  Bot.sendMessage("❌ Only Admin can use this.");56  return;57}58 59// πŸ“‚ AGAR BANDA SIRF /viewpack LIKHE (BINA PARAMS KE) -> TOH SARE PACKS KI LIST DIKHAO60if (!params) {61  // Global packs tracking list nikalna (Packs register karne ke liye /savepack me track hona zaroorat hota hai, 62  // ya fir hum 'premium_emojis' se nikal sakte hain)63  var emojis = Bot.getProperty("premium_emojis") || {};64  var uniquePacks = {};65 66  // Saare keys me se pack names extract karna (jaise pubg_1 -> pubg)67  for (var key in emojis) {68    var parts = key.split("_");69    if (parts.length > 1) {70      var pName = parts.slice(0, -1).join("_"); // handle names with multiple underscores71      uniquePacks[pName] = (uniquePacks[pName] || 0) + 1;72    } else {73      uniquePacks["global_single"] = (uniquePacks["global_single"] || 0) + 1;74    }75  }76 77  var packKeys = Object.keys(uniquePacks);78 79  if (packKeys.length === 0) {80    Bot.sendMessage("🚫 Koyi bhi Emoji Pack saved nahi hai. Pehle `/savepack` ka use karein.");81    return;82  }83 84  var allPacksMsg = "<blockquote><b>πŸ—‚οΈ ALL SAVED EMOJI PACKS</b></blockquote>\n\n";85  for (var j = 0; j < packKeys.length; j++) {86    var name = packKeys[j];87    var count = uniquePacks[name];88    allPacksMsg += "πŸ“¦ <b>Pack Name:</b> <code>" + name + "</code>\n";89    allPacksMsg += "β”— πŸ”’ <b>Total Emojis:</b> <code>" + count + "</code>\n";90    allPacksMsg += "πŸ‘‰ <i>Open karne ke liye type karein:</i> `/viewpack " + name + "`\n\n";91  }92 93  Bot.sendMessage(allPacksMsg, { parse_mode: "HTML" });94  return;95}96 97// πŸ” AGAR BANDA /viewpack [PACK_NAME] LIKHE -> SPECIFIC PACK OPEN KRE98var packName = params.toLowerCase().trim();99var packStorage = Bot.getProperty("emoji_pack_" + packName);100 101// Fallback: Agar /savepack direct use nahi kiya par global list me data hai102if (!packStorage || packStorage.length === 0) {103  var globalEmojis = Bot.getProperty("premium_emojis") || {};104  packStorage = [];105  var indexCounter = 1;106  while (globalEmojis[packName + "_" + indexCounter]) {107    packStorage.push(globalEmojis[packName + "_" + indexCounter]);108    indexCounter++;109  }110}111 112if (!packStorage || packStorage.length === 0) {113  Bot.sendMessage("🚫 Pack **'" + packName + "'** nahi mila ya khali hai.", { parse_mode: "Markdown" });114  return;115}116 117var listMessage = "<blockquote><b>πŸ“¦ PACK: " + packName.toUpperCase() + " (" + packStorage.length + " Emojis)</b></blockquote>\n\n";118 119for (var i = 0; i < packStorage.length; i++) {120  var id = packStorage[i];121  var visualEmoji = "<tg-emoji emoji-id='" + id + "'>✨</tg-emoji>";122  var index = i + 1;123  124  listMessage += visualEmoji + " <b>Code:</b> <code>{emj_" + packName + "_" + index + "}</code>\n";125  listMessage += "β”— <b>ID:</b> <code>" + id + "</code>\n\n";126}127 128Bot.sendMessage(listMessage, { parse_mode: "HTML" });