455 commands2 envUpdated 7h agoCreated Aug 26, 2026
commands/_start.js
javascript · 442 lines
1/**#command2name: /start3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/**#command13name: /start14answer: 15keyboard: 16parse_mode:17aliases: 18allow_only_group: false19need_reply: false20is_web: 021#command**/22 23try {24var uid = "";25if (typeof user !== "undefined" && user) { if (user.telegramid) uid = String(user.telegramid); else if (user.id) uid = String(user.id); }26if (!uid) { Bot.sendMessage("⚠️ شناسه کاربر پیدا نشد."); return; }27try { await db.global.set("ai_on_" + uid, ""); } catch (eAi) {}28try {29 await db.global.set("await_vfa_" + uid, "");30 await db.global.set("await_ffw_" + uid, "");31 await db.global.set("await_cff_" + uid, "");32 await db.global.set("await_cffqr_" + uid, "");33 await db.global.set("await_cffad_" + uid, "");34 await db.global.set("await_fin_" + uid, "");35 await db.global.set("await_cnv_" + uid, "");36 await db.global.set("await_fnd_" + uid, "");37 await db.global.set("await_hlp_" + uid, "");38 await db.global.set("await_tod_" + uid, "");39 await db.global.set("await_tck_" + uid, "");40 await db.global.set("await_ffdm_" + uid, "");41 await db.global.set("await_trn_" + uid, "");42 await db.global.set("ffw_draft_" + uid, "");43 await db.global.set("await_plus_" + uid, "");44 await db.global.set("plus_mode_" + uid, "");45} catch (eCl) {}46var ZU = 1000000;47if (String((await db.global.get("wal_gen_" + uid)) || "") !== "4") {48 await db.global.set("wal_" + uid, 0);49 await db.global.set("wal_gen_" + uid, "4");50}51 52var bossId = "5861439682";53var isBoss = (uid === bossId);54var isAdmin = isBoss || ((await db.global.get("rank_" + uid)) === "admin");55var channel = "@ZorenixStudio";56var firstName = "دوست";57try { if (user && user.first_name) firstName = String(user.first_name); else if (user && user.username) firstName = String(user.username); } catch (e0) {}58try {59 var seen = await db.global.get("user_seen_" + uid);60 if (!seen) {61 var uc = parseInt(await db.global.get("stat_total_users") || 0) || 0;62 await db.global.set("user_seen_" + uid, "1");63 await db.global.set("stat_total_users", uc + 1);64 }65} catch (e1) {}66 67try {68 var zin = await db.global.get("z_in_" + uid);69 if (!zin) {70 await db.global.set("z_in_" + uid, "1");71 var zl = [];72 try { zl = JSON.parse(String((await db.global.get("z_users")) || "[]")); } catch (eZ) { zl = []; }73 if (!zl || typeof zl.length !== "number") zl = [];74 if (zl.length < 400) {75 zl.push(String(uid));76 await db.global.set("z_users", JSON.stringify(zl));77 }78 }79} catch (eZ2) {}80 81var raw = "", junk = "";82if (typeof params !== "undefined" && params) {83 if (Array.isArray(params)) raw = params.join(" ");84 else if (typeof params === "object") raw = String(params[0] || "");85 else raw = String(params);86}87raw = String(raw).trim();88if (!raw && typeof message !== "undefined" && message) {89 var mt = (typeof message === "object") ? String(message.text || message.caption || "") : String(message);90 mt = mt.trim();91 if (mt.indexOf("/start") === 0) {92 var sp1 = mt.indexOf(" ");93 if (sp1 > 0) raw = mt.slice(sp1 + 1).trim();94 } else if (mt.length) { junk = mt; if (mt.indexOf("_") > 0 || /^[0-9]{5,}$/.test(mt)) raw = mt; }95}96if (!raw && typeof update !== "undefined" && update && update.message) {97 var ut = String(update.message.text || "").trim();98 if (ut.indexOf("/start") === 0) { var sp2 = ut.indexOf(" "); if (sp2 > 0) raw = ut.slice(sp2 + 1).trim(); }99}100 101var p = String(raw).trim(), ix = -1;102for (var q0 = 0; q0 < p.length; q0++) {103 var ch0 = p.charAt(q0);104 if (ch0 === "_" || ch0 === ":" || ch0 === "-" || ch0 === "=" || ch0 === " ") { ix = q0; break; }105}106var kind = "", arg = "";107if (ix > 0) { kind = p.slice(0, ix).toLowerCase(); arg = p.slice(ix + 1).trim(); }108else if (/^[0-9]{5,}$/.test(p)) { kind = "ref"; arg = p; }109else if (p.length >= 4 && p.length <= 20 && /^[A-Za-z0-9]+$/.test(p) && /[0-9]/.test(p)) { kind = "gift"; arg = p; }110if (kind === "refer" || kind === "invite" || kind === "inv" || kind === "aff" || kind === "affiliate" || kind === "sponsor") kind = "ref";111if (kind === "lot" || kind === "draw" || kind === "lotry") kind = "lottery";112if (kind === "giftcode" || kind === "code" || kind === "cd") kind = "gift";113if (kind === "ngl" || kind === "tell" || kind === "sarahah") kind = "secret";114if (kind === "ac" || kind === "anonchat") kind = "chat";115if (!kind && (p === "chat" || p.toLowerCase() === "chat")) kind = "chat";116if (kind === "love" || kind === "duo" || kind === "tst") kind = "pair";117if (!kind && (p === "pair" || p === "love")) kind = "pair";118if (kind === "memo" || kind === "heart" || kind === "yadegari") kind = "yad";119if (!kind && (p === "yad" || p === "memo")) kind = "yad";120if (kind === "mis" || kind === "mission") kind = "msn";121if (kind === "hp" && arg) {122 var hArg = String(arg).replace(/[^0-9]/g, "");123 if (hArg) await db.global.set("help_show_" + uid, hArg);124}125if (!kind && (p === "help" || p === "Help")) kind = "help";126var note = "";127if (kind === "tod" && arg) {128 var th = String(arg).replace(/[^0-9]/g, "");129 if (th && th !== uid) {130 await db.global.set("tod_host_" + uid, th);131 note = "حقیقت یا جرات با دوست آماده است.";132 } else if (th === uid) note = "لینک خودت را برای دوست بفرست.";133}134if (kind === "typ" && arg) {135 var thp = String(arg).replace(/[^0-9]/g, "");136 if (thp && thp !== uid) {137 await db.global.set("typ_host_" + uid, thp);138 await db.global.set("typ_host_" + thp, thp);139 await db.global.set("typ_peer_" + thp, uid);140 note = "چالش تایپ آماده است.";141 } else if (thp === uid) note = "لینک تایپ را برای دوست بفرست.";142}143if (kind === "flg" && arg) {144 var thf = String(arg).replace(/[^0-9]/g, "");145 if (thf && thf !== uid) {146 await db.global.set("flg_host_" + uid, thf);147 await db.global.set("flg_host_" + thf, thf);148 await db.global.set("flg_peer_" + thf, uid);149 note = "حدس پرچم آماده است.";150 } else if (thf === uid) note = "لینک پرچم را برای دوست بفرست.";151}152 153if (kind === "ref" && arg) {154 try {155 var inviter = arg.replace(/[^0-9]/g, "");156 var already = "";157 if (!inviter) note = "🔗 کد دعوت نامفهوم بود: " + arg;158 else if (inviter === uid) note = "🔗 با لینک خودت نمیشه خودت رو دعوت کنی 🙂";159 else {160 already = await db.global.get("referred_by_" + uid);161 if (already) note = "🔗 این حساب قبلاً کد دعوت داشته (معرف: " + already + ")";162 else {163 await db.global.set("referred_by_" + uid, inviter);164 await db.global.set("aff_referrer_" + uid, inviter);165 var cnt = (parseInt(await db.global.get("ref_count_" + inviter) || 0) || 0) + 1;166 await db.global.set("ref_count_" + inviter, cnt);167 await db.global.set("bonus_msg_" + inviter, (parseInt(await db.global.get("bonus_msg_" + inviter) || 0) || 0) + 15);168 await db.global.set("xp_" + inviter, (parseInt(await db.global.get("xp_" + inviter) || 0) || 0) + 25);169 await db.global.set("bonus_msg_" + uid, (parseInt(await db.global.get("bonus_msg_" + uid) || 0) || 0) + 10);170 await db.global.set("xp_" + uid, (parseInt(await db.global.get("xp_" + uid) || 0) || 0) + 25);171 var invMsg = "🎉 یک نفر با لینک تو جوین شد!\nZC رایگان نداریم.\nاگر دوستت کوین بخره سهم دعوت میماند.\n📊 " + cnt + "/2 برای VIP هفتگی";172 if (cnt >= 2 && !(await db.global.get("ref_reward2_" + inviter))) {173 await db.global.set("ref_reward2_" + inviter, "1");174 await db.global.set("plan_" + inviter, "normal");175 await db.global.set("plan_exp_" + inviter, Date.now() + 7 * 86400000);176 await db.global.set("bonus_msg_" + inviter, (parseInt(await db.global.get("bonus_msg_" + inviter) || 0) || 0) + 30);177 invMsg = "🏆 دو دعوت کامل شد!\n۷ روز Normal + ۳۰ پیام فعال شد 🔥\nکل دعوت: " + cnt;178 }179 try { Api.sendMessage({ chat_id: inviter, text: invMsg }); } catch (e5) {}180 note = "🔗 کد دعوت ثبت شد ✅ +۱۰ پیام برای تو";181 }182 }183 } catch (e8) { note = "⚠️ خطا در کد دعوت: " + String(e8); }184}185 186if (kind === "lottery" && arg) {187 try {188 var lotId = arg.replace(/[^0-9]/g, "");189 if (!lotId) note = "🎟 شماره قرعهکشی نامفهوم بود: " + arg;190 else {191 var lotActive = await db.global.get("lot_active_" + lotId);192 if (lotActive !== "1" && lotActive !== 1 && lotActive !== true) {193 note = "⚠️ قرعهکشی شماره " + lotId + " فعال نیست یا برندهاش کشیده شده.";194 } else {195 var lotTitle = String((await db.global.get("lot_title_" + lotId)) || "جایزه ویژه");196 var lotList = [];197 try { lotList = JSON.parse(String((await db.global.get("lot_users_" + lotId)) || "[]")); } catch (eL) { lotList = []; }198 if (!Array.isArray(lotList)) lotList = [];199 var isIn = false;200 for (var q = 0; q < lotList.length; q++) { if (String(lotList[q]) === String(uid)) isIn = true; } if (!isIn) { lotList.push(String(uid)); await db.global.set("lot_users_" + lotId, JSON.stringify(lotList)); }201 await db.global.set("lot_seen_" + uid, lotId);202 if (!isIn) { try { Api.sendMessage({ chat_id: bossId, text: "🎟 عضو جدید قرعهکشی #" + lotId + " — 👤 " + uid + " — 👥 کل: " + lotList.length }); } catch (eN) {} }203 if (isIn) note = "✅ قبلاً در قرعهکشی ثبت شده بودی.\n🎁 " + lotTitle + "\n👥 شرکتکنندگان: " + lotList.length;204 else note = "🎉 ثبتنام قرعهکشی انجام شد ✅\n🎁 " + lotTitle + "\n👥 شرکتکنندگان: " + lotList.length;205 }206 }207 } catch (eLot) { note = "⚠️ ثبتنام قرعهکشی نشد: " + String(eLot); }208}209 210if (kind === "gift" && arg) {211 try {212 var gCode = arg.toUpperCase().replace(/ /g, "");213 var codeData = await db.global.get("giftcode_" + gCode);214 if (!codeData) note = "❌ کد هدیه «" + gCode + "» نامعتبر یا منقضی است.";215 else if (await db.global.get("redeemed_" + uid + "_" + gCode)) note = "⚠️ این کد هدیه را قبلاً استفاده کردهای.";216 else {217 await db.global.set("redeemed_" + uid + "_" + gCode, "1");218 var cdTxt = String(codeData);219 if (cdTxt === "normal" || cdTxt === "super") {220 await db.global.set("plan_" + uid, cdTxt);221 await db.global.set("plan_exp_" + uid, Date.now() + 30 * 86400000);222 note = "🎁 کد «" + gCode + "» اعمال شد ✅ اشتراک " + cdTxt + " ۳۰ روزه";223 } else {224 var gAmt = parseInt(codeData) || 0;225 await db.global.set("bonus_msg_" + uid, (parseInt(await db.global.get("bonus_msg_" + uid) || 0) || 0) + gAmt);226 note = "🎁 کد «" + gCode + "» اعمال شد ✅ " + gAmt + " پیام هدیه";227 }228 }229 } catch (eG) { note = "⚠️ خطا در کد هدیه: " + String(eG); }230}231 232if (kind === "chat") {233 await db.global.set("open_anon_" + uid, "1");234 note = "🔍 چت ناشناس آماده است.";235}236if (kind === "yad") {237 await db.global.set("open_yad_" + uid, "1");238 note = "یادگاری طولانی آماده است.";239}240if (kind === "msn" && arg) {241 await db.global.set("open_msn_" + uid, String(arg).replace(/[^0-9]/g, ""));242 note = "مأموریت انتخاب شد.";243}244if (kind === "pvpc" && arg) {245 var hc = String(arg).replace(/[^0-9]/g, "");246 if (hc && hc !== uid) {247 await db.global.set("pvp_inv_" + uid, hc + "|coin");248 note = "دعوت بازی سکه.";249 }250}251if (kind === "pvpd" && arg) {252 var hd = String(arg).replace(/[^0-9]/g, "");253 if (hd && hd !== uid) {254 await db.global.set("pvp_inv_" + uid, hd + "|dice");255 note = "دعوت بازی تاس.";256 }257}258 259if (kind === "pair" && arg) {260 var po = String(arg).replace(/[^0-9]/g, "");261 if (!po) note = "❤️ لینک تست نامعتبر بود.";262 else if (po === uid) note = "❤️ با لینک خودت نمیشه. برای یکی دیگه بفرست.";263 else {264 await db.global.set("pair_with_" + uid, po);265 note = "❤️ تست دو نفره آماده است.";266 }267}268 269if (kind === "secret" && arg) {270 var tgt = String(arg).replace(/[^0-9]/g, "");271 if (!tgt) note = "💌 لینک ناشناس نامعتبر بود.";272 else if (tgt === uid) note = "💌 این لینک مال خودته.\nاز یک اکانت دیگر روی لینک بزن و پیام بفرست.";273 else {274 await db.global.set("sending_secret_to_" + uid, tgt);275 note = "💌 حالت ناشناس آماده است. بعد از ورود، پیامت را بنویس.";276 }277}278 279if (isAdmin && !note) note = "🔎 " + (raw ? ("پارامتر: " + raw) : (junk ? ("نامفهوم: " + junk) : "پارامتری نیامد"));280 281if (await db.global.get("banned_" + uid)) { Bot.sendMessage("🚫 دسترسی حساب شما مسدود است."); return; }282 283var uidB = "";284try { if (user && user.id) uidB = String(user.id); } catch (eUb) {}285var joinCached = await db.global.get("join_ok_" + uid);286if ((!joinCached || joinCached === "0") && uidB && uidB !== uid) {287 joinCached = await db.global.get("join_ok_" + uidB);288}289if (isAdmin) {290 await db.global.set("join_ok_" + uid, "3");291 if (uidB) await db.global.set("join_ok_" + uidB, "3");292 joinCached = "3";293}294if (!isAdmin && joinCached !== "3") {295 try { Bot.runCommand("joingate"); } catch (e9) {}296 return;297}298 299if (!isAdmin) {300 var rok = await db.global.get("rules_ok_" + uid);301 if (rok !== "1" && rok !== 1 && rok !== true) {302 Bot.runCommand("rol");303 return;304 }305}306 307if (kind === "help" || p === "help") {308 try { Bot.runCommand("help"); } catch (eHp0) {}309 return;310}311var hShow = String((await db.global.get("help_show_" + uid)) || "");312if (hShow) {313 await db.global.set("help_page_" + uid, hShow);314 await db.global.set("help_show_" + uid, "");315 try { Bot.runCommand("help"); } catch (eHp1) {}316 return;317}318 319if ((await db.global.get("pvp_inv_" + uid))) {320 Bot.runCommand("pvpjoin");321 return;322}323 324if ((await db.global.get("open_yad_" + uid)) === "1") {325 await db.global.set("open_yad_" + uid, "");326 Bot.runCommand("yad");327 return;328}329 330var msnN = String((await db.global.get("open_msn_" + uid)) || "");331if (msnN) {332 await db.global.set("open_msn_" + uid, "");333 var nM = parseInt(msnN) || 0;334 var listM = [];335 try { listM = JSON.parse(String((await db.global.get("msn_list")) || "[]")); } catch (eLM) { listM = []; }336 if (!listM || typeof listM.length !== "number") listM = [];337 var ixM = nM - 1;338 if (nM < 1 || ixM >= listM.length) {339 Bot.sendMessage("این شماره مأموریت نیست.");340 return;341 }342 var mM = listM[ixM];343 await db.global.set("msn_pick_" + uid, JSON.stringify({ id: mM.id, title: mM.title, pay: mM.pay }));344 await db.global.set("await_msn_" + uid, "1");345 await db.global.set("await_zc_" + uid, "");346 await db.global.set("await_shop_buy_" + uid, "");347 Bot.sendMessage("✅ مأموریت " + nM + ": " + String(mM.title) + "\n💰 " + (parseInt(mM.pay) || 0) + " تومان\n\nاسکرین را همینجا بفرست.");348 return;349}350 351if ((await db.global.get("pair_with_" + uid)) && (await db.global.get("pair_with_" + uid)) !== uid) {352 Bot.runCommand("duo");353 return;354}355 356if ((await db.global.get("open_anon_" + uid)) === "1") {357 await db.global.set("open_anon_" + uid, "");358 Bot.runCommand("anonchat");359 return;360}361 362var secTo = (await db.global.get("sending_secret_to_" + uid)) || "";363if (secTo && secTo !== uid) {364 Api.sendMessage({365 text: "💌 پیام ناشناس را همینجا بنویس.\nاسمت نمیرود.\nلغو: لغو",366 reply_markup: { keyboard: [["لغو"], ["💌 پیام ناشناس من"]], resize_keyboard: true }367 });368 return;369}370 371try {372 var nowD = new Date();373 var today = nowD.getFullYear() + "-" + (nowD.getMonth() + 1) + "-" + nowD.getDate();374 if (await db.global.get("last_day_" + uid) !== today) {375 await db.global.set("msg_count_" + uid, 0);376 await db.global.set("last_day_" + uid, today);377 }378} catch (e10) {}379 380var plan = (await db.global.get("plan_" + uid)) || "free";381var bonusMsg = parseInt(await db.global.get("bonus_msg_" + uid) || 0) || 0;382var xp = parseInt(await db.global.get("xp_" + uid) || 0) || 0;383var zc = (parseInt(await db.global.get("wal_" + uid) || 0) || 0) / ZU;384var lv = Math.floor(xp / 100) + 1;385var planLabel = "🌱 Free";386var glassRank = "▫️ GLASS C";387if (isBoss) { planLabel = "👑 Founder"; glassRank = "💎 GLASS X"; }388else if (plan === "super") { planLabel = "👑 Super"; glassRank = "💠 GLASS S"; }389else if (plan === "normal") { planLabel = "⚡️ Normal"; glassRank = "🔷 GLASS A"; }390else if (lv >= 10) glassRank = "🔹 GLASS B";391 392var uname = "";393try { if (user && user.username) uname = String(user.username); } catch (eUn) {}394var hello =395 "✦ ZORENIX · GLASS\n" +396 "────────────────\n" +397 glassRank + "\n" +398 "سلام " + firstName + "\n" +399 planLabel + " · Lv " + lv + "\n" +400 "ZC " + zc + " · XP " + xp + "\n" +401 "🔢 آیدی عددی: " + uid + "\n";402if (uname) hello = hello + "@" + uname + "\n";403else hello = hello + "یوزرنیم نداری. برای کلن/گیفت همین عدد را بده.\n";404hello = hello + "۱ ZC = ۱۰۰۰ تومان\n";405if (note) hello = hello + "\n" + note + "\n";406 407Api.sendMessage({ text: hello, reply_markup: { keyboard: [408 ["🟢 گفتگو با هوش مصنوعی"],409 ["🏰 کلن", "🐾 پت"],410 ["🎒 اینونتوری", "🧙 کاراکتر"],411 ["🤣 میم مسخره", "🗣 حاضرجوابی"],412 ["⌨️ چالش تایپ", "🚩 حدس پرچم"],413 ["🎁 هدیه روزانه", "🏆 برترینها"],414 ["💌 لینک ناشناس", "🎭 حقیقت یا جرات"],415 ["⚽ سوال فوتبال", "🧠 کوییز عمومی"],416 ["🎬 کوییز فیلم", "🎮 بازیها"],417 ["🛒 دیوار فری فایر", "🎨 کاستوم فری فایر"],418 ["🟩 فروشگاه زورنیکس", "💎 کیف پول"],419 ["💎 ماشینحساب الماس", "🏆 تورنمنت"],420 ["🎰 اسلات", "✊ قیچی"],421 ["🪙 سکه", "🎲 تاس"],422 ["🎫 پشتیبانی", "🔍 پیدا کردن آیدی"],423 ["❓ راهنما", "🔍 چت ناشناس"],424 ["❤️ تست دو نفره", "📜 یادگاری"],425 ["👤 حساب من", "⚙️ تنظیمات"],426 ["🐞 گزارش باگ", "💡 پیشنهاد"],427 ["🔴 لغو"]428], resize_keyboard: true } });429 430if (kind === "tod") {431 try { Bot.runCommand("tod"); } catch (eTd) {}432}433if (kind === "typ") {434 try { Bot.runCommand("typ"); } catch (eTp) {}435}436if (kind === "flg") {437 try { Bot.runCommand("flg"); } catch (eFg) {}438}439 440} catch (e) {441 Bot.sendMessage("⚠️ خطا start:\n" + String(e && e.message ? e.message : e));442}