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 8h agoCreated Oct 30, 2026
commands/_viewpack.js
javascript Β· 128 lines
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" });