indrajitghosh20006/Testseller_01botPublic · Bot Template

ProfileTelegram

AIThis bot provides an admin‑controlled system for managing user balances, products, and reseller roles. It includes commands to add balances (via manual input, Binance Pay, or UPI), approve and credit payments, and set up product listings with categories and pricing. Admins can also add resellers, view reseller info, and manage stock entries. The bot uses built‑in TeleBotHost APIs such as Bot, Api, HTTP, and Libs for database operations and message handling.

Commerceadminbalanceproductresellerpaymentsbinance
138 commands0 envUpdated 17h agoCreated Sep 27, 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}