455 commands2 envUpdated 6h agoCreated Aug 26, 2026
commands/_shop.js
javascript · 105 lines
1/**#command2name: /shop3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/**#command13name: /shop14answer: 15keyboard: 16parse_mode: markdown17aliases: 18allow_only_group: false19need_reply: false20is_web: 021#command**/22 23try {24try { Api.answerCallbackQuery({}); } catch (e0) {}25 26var uid = "";27if (typeof user !== "undefined" && user) {28 if (user.telegramid) uid = String(user.telegramid);29 else if (user.id) uid = String(user.id);30}31if (!uid) { Bot.sendMessage("⚠️ uid نیست"); return; }32 33var gift = await db.global.get("wal_gift_" + uid);34if (!gift) {35 await db.global.set("wal_gift_" + uid, "1");36 var wc0 = parseInt(await db.global.get("wal_" + uid) || 0) || 0;37 await db.global.set("wal_" + uid, wc0 + 10000);38}39var wbal = parseInt(await db.global.get("wal_" + uid) || 0) || 0;40 41var isBoss = (uid === "5861439682");42var isAdmin = isBoss || ((await db.global.get("rank_" + uid)) === "admin");43 44if (!isAdmin) {45 var rok = await db.global.get("rules_ok_" + uid);46 if (rok !== "1" && rok !== 1 && rok !== true) {47 Bot.sendMessage("⛔️ اول قوانین ربات را بخوان و تایید کن.");48 Bot.runCommand("rol");49 return;50 }51}52 53var card = (await db.global.get("shop_card")) || "5022291606999017";54var cardName = (await db.global.get("shop_card_name")) || "مهدیار عزیزیان";55await db.global.set("shop_card", card);56await db.global.set("shop_card_name", cardName);57 58var rawP = (await db.global.get("shop_products")) || "";59var products = [];60try { if (rawP) products = JSON.parse(String(rawP)); } catch (eP) { products = []; }61if (!products || typeof products.length !== "number") products = [];62 63if (products.length === 0) {64 products = [65 { id: 1, num: 1, title: "پلن Normal یکماهه", price: 59000, desc: "۱۰۰ پیام در روز، ۳۰ روز", kind: "normal", extra: "30", file_id: "", file_type: "" },66 { id: 2, num: 2, title: "پلن Super یکماهه", price: 149000, desc: "نامحدود + مدل قویتر، ۳۰ روز", kind: "super", extra: "30", file_id: "", file_type: "" },67 { id: 3, num: 3, title: "پلن ۳روزه Normal", price: 29000, desc: "۱۰۰ پیام در روز، ۳ روز", kind: "normal", extra: "3", file_id: "", file_type: "" }68 ];69 await db.global.set("shop_products", JSON.stringify(products));70 await db.global.set("shop_next_id", 4);71}72 73var list = "🛒 فروشگاه زورنیکس\n────────────────\n💎 کیف: " + (wbal / 100) + " ZorenixCoin\n1 ZC = 100 تومان | 10 ZC = 1000 تومان\nعدد محصول را بفرست. خرید فقط با کوین.\nفیش فقط برای شارژ کوین.\n⚠️ پس گرفته نمیشود.\n\n";74var i = 0;75var shown = 0;76for (i = 0; i < products.length; i++) {77 var p = products[i];78 if (!p) continue;79 shown = shown + 1;80 p.num = shown;81 list = list + shown + " — " + String(p.title) + "\n💎 " + ((parseInt(p.price) || 0) / 100) + " ZC\n";82 var d = String(p.desc || "").trim();83 if (d) list = list + d.slice(0, 160) + "\n";84 list = list + "\n";85}86if (shown === 0) list = list + "هنوز محصولی نیست.\n";87list = list + "────────────────\nلغو: لغو";88 89await db.global.set("await_shop_buy_" + uid, "1");90await db.global.set("await_shop_step_" + uid, "");91await db.global.set("await_zc_" + uid, "");92await db.global.set("await_zc_buy_" + uid, "");93 94var rows = [95 [{ text: "💎 کیف ZC", callback_data: "wal" }, { text: "💳 شارژ کوین", callback_data: "zccharge" }],96 [{ text: "📜 قوانین فروشگاه", callback_data: "shop_rules" }],97 [{ text: "👤 حساب من", callback_data: "my_account" }]98];99if (isAdmin) rows.push([{ text: "🛠 مدیریت فروشگاه", callback_data: "shop_admin" }]);100rows.push([{ text: "🏠 منو", callback_data: "/start" }]);101 102Api.sendMessage({ text: list, reply_markup: { inline_keyboard: rows } });103} catch (e) {104 Bot.sendMessage("⚠️ shop: " + String(e && e.message ? e.message : e));105}