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

javascript Β· 106 lines

Raw
1/**#command2name: /transfer_ownership3answer: 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// πŸ‘‘ OWNER-ONLY β€” Transfer Ownership55// Usage: /transfer_ownership USERID56// ⚠️ IMPORTANT LIMITATION: this updates the dynamic "owner_id" property that57// NEW commands (admin panel, coupon, co-admin, maintenance) check. Older58// admin-only commands in this bot (addproduct, addkey, addbal, etc.) still59// have the original owner ID hardcoded as literal text in ~30 files β€” those60// would need a separate one-time refactor to fully recognize a new owner too.61// =========================================================62 63try {64  var ownerId = Bot.getProperty("owner_id") || "7839151435";65  var currentChatId = String(chat.chatid);66 67  if (currentChatId !== ownerId) {68    Bot.sendMessage("❌ Sirf current Owner hi ownership transfer kar sakta hai!");69    return;70  }71 72  if (!params || params.trim() === "") {73    Bot.sendMessage("⚠️ <b>Format:</b> <code>/transfer_ownership USERID</code>", { parse_mode: "HTML" });74    return;75  }76 77  var newOwnerId = params.trim();78  if (isNaN(Number(newOwnerId))) {79    Bot.sendMessage("❌ Valid numeric User ID chahiye!");80    return;81  }82  if (newOwnerId === ownerId) {83    Bot.sendMessage("❌ Ye to already aap hi hain!");84    return;85  }86 87  User.setProperty("pending_ownership_transfer_to", newOwnerId, "string");88 89  Api.sendMessage({90    chat_id: chat.chatid,91    text: "<blockquote>⚠️ <b>CONFIRM OWNERSHIP TRANSFER</b></blockquote>\n\n" +92          "Aap ownership <code>" + newOwnerId + "</code> ko transfer karne wale hain.\n" +93          "<b>Ye action turant apply hoga aur aap Owner nahi rahenge!</b>\n\n" +94          "<i>Kya aap sure hain?</i>",95    parse_mode: "HTML",96    reply_markup: JSON.stringify({97      inline_keyboard: [[98        { text: "Confirm Transfer", callback_data: "/confirm_ownership_transfer", style: "danger", icon_custom_emoji_id: "6215386799133433653" },99        { text: "Cancel", callback_data: "/cancel_ownership_transfer", style: "primary" }100      ]]101    })102  });103 104} catch (err) {105  Bot.sendMessage("⚠️ Error: " + err.message);106}