devbro468/Dev_x_store_botPublic · Bot Template

AIThis bot operates a digital storefront (DEV X STORE) selling subscription-based products — likely game hacks, accounts, or access keys — categorized by platform (Android Root, Non-Root, iPhone). It features a reseller program with discounted pricing, a dual-currency wallet (INR balance + Telegram Stars/XTR), and a full admin/co-admin panel for managing products, plans, per-plan pricing, stock (keys/accounts), coupons, and API endpoints. Purchases flow through a plan selection screen offering wallet payment, Stars invoices (sendInvoice with XTR currency), and coupon application. Successful Stars payments are handled via successful_payment webhook, crediting wallet or delivering keys directly. Admin tools include user listing with chunked messaging, stock viewing/deletion with inline keyboards, co-admin management, and API registry updates. The bot registers users on first interaction and

Commercecommercedigital-goodsstars-paymentreseller-systemadmin-panelstock-management
ProfileTelegram
119 commands0 envUpdated 15d agoCreated Aug 23, 2026
Back to folder

commands/_resellerprice_id.js

javascript · 76 lines

Raw
1/**#command2name: /resellerprice_id3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12try {13  var adminId = "8875810358";14  if (!chat || String(chat.chatid) !== adminId) return;15 16  // 🔥 CLEAR SPINNER IMMEDIATELY17  if (typeof request !== "undefined" && request) {18    let queryId = request.id || (request.callback_query && request.callback_query.id);19    if (queryId) { try { Api.answerCallbackQuery({ callback_query_id: queryId }); } catch(qErr){} }20  }21 22  var rawInput = (typeof message !== "undefined" && message) ? message.trim() : "";23  if (!rawInput && typeof params !== "undefined" && params) { rawInput = String(params).trim(); }24 25  if (rawInput.indexOf("/resellerprice_id") === 0) {26    rawInput = rawInput.replace("/resellerprice_id", "").trim();27  }28 29  // 🛡️ NO REPLY CRASH FIX: Display interactive instruction if text missing30  if (!rawInput) {31    Api.sendMessage({32      chat_id: adminId,33      text: "✍️ <b>Set Reseller Price Node Matrix:</b>\n\nKripya is text ko copy karein, edit karein aur reply mein bhejiye:\n\n<code>/resellerprice_id [Category Name] [Price]</code>\n\n<b>Example:</b>\n<code>/resellerprice_id Facebook Id 120</code>",34      parse_mode: "HTML"35    });36    return;37  }38 39  var parts = rawInput.split(" ");40  if (parts.length < 2) {41    Api.sendMessage({42      chat_id: adminId,43      text: "⚠️ <b>Format Galat Hai!</b>\nSahi tarika: <code>Category_Name Price</code>\nExample: <code>Facebook Id 120</code>",44      parse_mode: "HTML"45    });46    return;47  }48 49  var price = parts[parts.length - 1].trim();50  var catName = parts.slice(0, -1).join(" ").trim();51 52  if (isNaN(price)) {53    Api.sendMessage({ chat_id: adminId, text: "⚠️ <b>Price ek valid number hona chahiye!</b>" });54    return;55  }56 57  var catSlug = catName.toLowerCase().replace(/[^a-z0-9]/g, "");58  var categories = Bot.getProperty("ff_categories") || {};59 60  if (!categories[catSlug]) {61    Api.sendMessage({ chat_id: adminId, text: "❌ <b>Category [ " + catName + " ] system records mein nahi mili!</b>" });62    return;63  }64 65  categories[catSlug].reseller_price = parseFloat(price);66  Bot.setProperty("ff_categories", categories, "json");67 68  Api.sendMessage({69    chat_id: adminId,70    text: "✅ <b>Reseller Price Updated Successfully!</b>\n\n• <b>Category:</b> <code>" + categories[catSlug].name + "</code>\n• <b>New Reseller Price:</b> <code>₹" + price + "</code>",71    parse_mode: "HTML"72  });73 74} catch(e) {75  Bot.sendMessage("Error in Set Reseller Price: " + e.message);76}