455 commands2 envUpdated 7h agoCreated Aug 26, 2026
commands/anonchat.js
javascript · 136 lines
1/**#command2name: anonchat3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/**#command13name: anonchat14answer: 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 33try {34 if (!(await db.global.get("z_in_" + uid))) {35 await db.global.set("z_in_" + uid, "1");36 var zl0 = [];37 try { zl0 = JSON.parse(String((await db.global.get("z_users")) || "[]")); } catch (eZ0) { zl0 = []; }38 if (!zl0 || typeof zl0.length !== "number") zl0 = [];39 zl0.push(String(uid));40 await db.global.set("z_users", JSON.stringify(zl0));41 }42} catch (eZ1) {}43 44var live = (await db.global.get("anon_pair_" + uid)) || "";45if (live) {46 Bot.sendMessage("الان تو یک چت هستی. اول پایان بزن یا نفر بعدی.");47 return;48}49 50var oldTo = (await db.global.get("anon_to_" + uid)) || "";51if (oldTo) {52 await db.global.set("anon_from_" + oldTo, "");53 await db.global.set("anon_to_" + uid, "");54}55 56var all = [];57try { all = JSON.parse(String((await db.global.get("z_users")) || "[]")); } catch (eA) { all = []; }58if (!all || typeof all.length !== "number") all = [];59 60var last = String((await db.global.get("anon_last_" + uid)) || "");61var cand = [];62var i = 0;63for (i = 0; i < all.length; i++) {64 var ou = String(all[i] || "");65 if (!ou || ou === uid) continue;66 if (ou === last) continue;67 if (await db.global.get("banned_" + ou)) continue;68 if (await db.global.get("anon_pair_" + ou)) continue;69 if (await db.global.get("anon_from_" + ou)) continue;70 cand.push(ou);71}72 73if (cand.length === 0) {74 for (i = 0; i < all.length; i++) {75 var ou2 = String(all[i] || "");76 if (!ou2 || ou2 === uid) continue;77 if (await db.global.get("banned_" + ou2)) continue;78 if (await db.global.get("anon_pair_" + ou2)) continue;79 if (await db.global.get("anon_from_" + ou2)) continue;80 cand.push(ou2);81 }82}83 84if (cand.length === 0) {85 Bot.sendMessage("🔍 کسی برای چت آزاد نیست.\nباید حداقل یک نفر دیگر ربات را استارت زده باشد.\nدوباره بزن.");86 return;87}88 89var picked = "";90var t = 0;91for (t = 0; t < 8; t++) {92 if (picked) break;93 if (cand.length === 0) break;94 var r = Math.floor(Math.random() * cand.length);95 var tryU = String(cand[r]);96 var cand2 = [];97 var k = 0;98 for (k = 0; k < cand.length; k++) {99 if (k !== r) cand2.push(cand[k]);100 }101 cand = cand2;102 var sent = false;103 try {104 Api.sendMessage({105 chat_id: tryU,106 text: "🔍 یک نفر میخواد باهات چت ناشناس کنه.\nقبول میکنی؟\nاسمش را نمیبینی.",107 reply_markup: {108 inline_keyboard: [109 [{ text: "✅ قبول", callback_data: "anonok" }, { text: "❌ رد", callback_data: "anonno" }]110 ]111 }112 });113 sent = true;114 } catch (eS) { sent = false; }115 if (sent) picked = tryU;116}117 118if (!picked) {119 Bot.sendMessage("🔍 کسی در دسترس نبود. چند ثانیه بعد دوباره بزن.");120 return;121}122 123await db.global.set("anon_to_" + uid, picked);124await db.global.set("anon_from_" + picked, uid);125await db.global.set("anon_last_" + uid, picked);126Api.sendMessage({127 text: "📨 درخواست چت ناشناس ارسال شد.\nمنتظر قبول یا رد طرف باش.",128 reply_markup: {129 inline_keyboard: [130 [{ text: "⏭ یکی دیگه", callback_data: "anonnext" }, { text: "❌ لغو", callback_data: "anonend" }]131 ]132 }133});134} catch (e) {135 Bot.sendMessage("⚠️ anonchat: " + String(e && e.message ? e.message : e));136}