kkapil9112/Hguuuuuv45botPublic · Bot Template

AITelegram commerce bot for an admin-managed digital store: admins create categories, products, time-based plans, stock entries and license keys, and can grant reseller roles or adjust user balances. End users can view their balance, start a deposit flow with an inline amount keypad, apply coupon codes, and navigate back to the store menu. It uses Bot properties for product/stock/coupon data and Libs.ResourcesLib for per-user balances.

Commercecommerceshopreselleradmin-panelbalanceproduct-management
ProfileTelegram
102 commands0 envUpdated 29d agoCreated Aug 7, 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}