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

javascript Β· 45 lines

Raw
1/**#command2name: /onQRExpire3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13  var opts = (typeof options !== "undefined" && options) ? options : {};14  var userId = opts.userId || (typeof user !== "undefined" && user ? user.telegramid : null);15  var chatId = opts.chatId || (typeof chat !== "undefined" && chat ? chat.chatid : null);16 17  if (!userId || !chatId) { return; }18 19  var activeOrder = Bot.getProperty("qr_order_id_" + userId) || User.getProperty("qr_order_id_" + userId);20  var watchOrder = Bot.getProperty("qr_watch_order_" + userId) || User.getProperty("qr_watch_order_" + userId);21  var qrMsgId = Bot.getProperty("qr_msg_id_" + userId) || User.getProperty("qr_msg_id_" + userId);22 23  // βœ… Agar order already paid/cancelled ho chuka hai (activeOrder null ya watchOrder se alag), kuch mat karo24  if (!activeOrder || !watchOrder || String(activeOrder) !== String(watchOrder)) {25    return;26  }27 28  // βœ… UPDATED: ab koi "Order Expired" message nahi bheja jaata β€” QR bas29  // chupchaap vanish (delete) ho jaata hai jaise request kiya gaya tha.30  if (qrMsgId) {31    try { Api.deleteMessage({ chat_id: chatId, message_id: Number(qrMsgId) }); } catch (delErr) {}32  }33 34  // 🧹 Cleanup β€” order ab dead hai35  Bot.setProperty("qr_order_id_" + userId, null, "string");36  User.setProperty("qr_order_id_" + userId, null, "string");37  Bot.setProperty("qr_watch_order_" + userId, null, "string");38  User.setProperty("qr_watch_order_" + userId, null, "string");39  User.setProperty("pending_order_id", null);40  Bot.setProperty("verifying_lock_" + userId, false, "boolean");41  User.setProperty("verifying_lock_" + userId, false, "boolean");42 43} catch (err) {44  Bot.sendMessage("⚠️ Expiry Watcher Error: " + err.message);45}