455 commands2 envUpdated 6h agoCreated Aug 26, 2026
commands/ffwgo.js
javascript · 158 lines
1/**#command2name: ffwgo3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/**#command13name: ffwgo14answer: 15keyboard: 16parse_mode: 17aliases: 18allow_only_group: false19need_reply: false20is_web: 021#command**/22 23try {24try { Api.answerCallbackQuery({}); } catch (e0) {}25var uid = "";26var uidB = "";27if (typeof user !== "undefined" && user) {28 if (user.telegramid) uid = String(user.telegramid);29 else if (user.id) uid = String(user.id);30 if (user.id) uidB = String(user.id);31}32if (!uid) return;33var ZU = 1000000;34if (String((await db.global.get("wal_gen_" + uid)) || "") !== "4") {35 await db.global.set("wal_" + uid, 0);36 await db.global.set("wal_gen_" + uid, "4");37}38if (String((await db.global.get("ffw_on")) || "1") !== "1") {39 Bot.sendMessage("دیوار خاموش است.");40 return;41}42var arr = [];43try { arr = JSON.parse(String((await db.global.get("ffw_list")) || "[]")); } catch (eA) { arr = []; }44if (!arr || typeof arr.length !== "number") arr = [];45 46var text = "";47if (typeof message !== "undefined" && message) {48 if (typeof message === "object") text = String(message.text || "");49 else text = String(message);50}51text = String(text || "").trim();52var t2 = "";53var di = 0;54for (di = 0; di < text.length; di++) {55 var cc = text.charAt(di);56 var kk = "۰۱۲۳۴۵۶۷۸۹".indexOf(cc);57 if (kk >= 0) t2 = t2 + String(kk);58 else {59 kk = "٠١٢٣٤٥٦٧٨٩".indexOf(cc);60 if (kk >= 0) t2 = t2 + String(kk);61 else t2 = t2 + cc;62 }63}64text = t2.trim();65if (text === "لغو" || text === "cancel" || text === "🔴 لغو") {66 await db.global.set("await_ffw_" + uid, "");67 if (uidB) await db.global.set("await_ffw_" + uidB, "");68 Bot.sendMessage("لغو شد");69 return;70}71 72var ix = -1;73var raw = await db.global.get("ffw_see_" + uid);74if (raw === 0 || raw === "0") ix = 0;75else if (raw !== null && raw !== undefined && String(raw) !== "") {76 ix = parseInt(String(raw), 10);77 if (ix !== ix) ix = -1;78}79if (ix < 0 && uidB && uidB !== uid) {80 raw = await db.global.get("ffw_see_" + uidB);81 if (raw === 0 || raw === "0") ix = 0;82 else if (raw !== null && raw !== undefined && String(raw) !== "") {83 ix = parseInt(String(raw), 10);84 if (ix !== ix) ix = -1;85 }86}87 88var nn = parseInt(String(text).replace(/[^0-9]/g, "")) || 0;89if (nn > 0) {90 var shown = 0;91 var j = 0;92 var found = -1;93 for (j = 0; j < arr.length; j++) {94 if (!arr[j]) continue;95 if (String(arr[j].st || "sale") === "done") continue;96 shown = shown + 1;97 if (shown === nn) { found = j; break; }98 }99 if (found >= 0) ix = found;100}101 102if (ix < 0 || ix >= arr.length || !arr[ix]) {103 await db.global.set("await_ffw_" + uid, "buy");104 if (uidB && uidB !== uid) await db.global.set("await_ffw_" + uidB, "buy");105 Bot.sendMessage("شماره آگهی را بفرست.\nمثال: 1\nلغو: لغو");106 return;107}108 109await db.global.set("ffw_see_" + uid, String(ix));110if (uidB && uidB !== uid) await db.global.set("ffw_see_" + uidB, String(ix));111await db.global.set("await_ffw_" + uid, "");112if (uidB) await db.global.set("await_ffw_" + uidB, "");113 114var ad = arr[ix];115var st = String(ad.st || "sale");116if (st !== "hold" && st !== "wait" && st !== "done") st = "sale";117if (st !== "sale") { Bot.sendMessage("این آگهی در امانت است یا تمام شده."); return; }118var seller = String(ad.uid || "");119if (!seller || seller === uid || (uidB && seller === uidB)) {120 Bot.sendMessage("آگهی خودت را نمیخری. با اکانت دیگر بخر.");121 return;122}123var zc = parseInt(ad.zc) || 0;124if (zc < 1) { Bot.sendMessage("قیمت نامعتبر"); return; }125var need = zc * ZU;126var walNow = parseInt(await db.global.get("wal_" + uid) || 0) || 0;127if (walNow < need && uidB && uidB !== uid) {128 var wal2 = parseInt(await db.global.get("wal_" + uidB) || 0) || 0;129 if (wal2 > walNow) {130 uid = uidB;131 walNow = wal2;132 }133}134if (walNow < need) {135 Bot.sendMessage("ZC کم است.\nلازم: " + zc + " ZC = " + (zc * 1000) + " هزار تومان\nکیف تو: " + (walNow / ZU) + " ZC");136 return;137}138await db.global.set("wal_" + uid, walNow - need);139ad.st = "hold";140ad.buyer = uid;141ad.holdAt = Date.now();142arr[ix] = ad;143await db.global.set("ffw_list", JSON.stringify(arr));144Bot.sendMessage("✅ خرید امانی شد\n💎 " + zc + " ZC از کیفت رفت امانت.\nمعادل " + (zc * 1000) + " هزار تومان.\nبا فروشنده چت کن، اکانت را بگیر، بعد بزن: تحویل گرفتم.");145try {146 Api.sendMessage({147 chat_id: seller,148 text: "🛒 کسی آگهیات را امانت خرید\n" + String(ad.title) + "\n👤 " + String(ad.nick) + "\n💎 " + zc + " ZC"149 });150} catch (eS) {}151try {152 Api.sendMessage({153 chat_id: "5861439682",154 text: "🔒 امانت دیوار\n" + String(ad.title) + "\nفروشنده: " + seller + "\nخریدار: " + uid + "\n" + zc + " ZC"155 });156} catch (eB) {}157try { Bot.runCommand("ffwp"); } catch (eP) {}158} catch (e) { Bot.sendMessage("خطا ffwgo"); }