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/_profile.js
javascript Β· 82 lines
1/**#command2name: /profile3answer: 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// =========================================================54// π€ COMMAND = /profile (Premium Profile β Step 1: fetch user's DP)55// β
BUG FIX: pehle ek separate "Loading your premium profile..." message56// bhejke uska ID save karke baad me delete karne ki koshish hoti thi β lekin57// ID capture kabhi-kabhi chained HTTP.get callback ke through reliably58// propagate nahi hota tha, isliye ye "Loading..." message hamesha stuck reh59// jaata tha. Fix: ab koi separate loading message bheja hi nahi jaata β seedha60// DP fetch hoke turant final profile aata hai (delay itna chhota hai ki61// loading indicator ki zarurat hi nahi).62// =========================================================63 64try {65 var userId = String(user.telegramid);66 var chatId = chat.chatid;67 68 // β
Purani menu message ko clean karke hatate hain (agar button click se aaya ho)69 if (request && request.message && request.message.message_id) {70 try { Api.deleteMessage({ chat_id: chatId, message_id: request.message.message_id }); } catch (e) {}71 }72 73 // πΈ User ki Telegram DP fetch karo β response async /onProfilePhoto par aayega74 HTTP.get({75 url: "https://api.telegram.org/bot" + bot.token + "/getUserProfilePhotos?user_id=" + userId + "&limit=1",76 success: "/onProfilePhoto",77 error: "/onProfilePhoto"78 });79 80} catch (err) {81 Bot.sendMessage("β οΈ Profile Error: " + err.message, { parse_mode: "HTML" });82}