455 commands2 envUpdated 6h agoCreated Aug 26, 2026
commands/_drawlottery.js
javascript · 96 lines
1/**#command2name: /drawlottery3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/**#command13name: /drawlottery14answer: 15keyboard: 16parse_mode: markdown17aliases: 18allow_only_group: false19need_reply: false20is_web: 021#command**/22 23// [ZFix] نام کاربری واقعی ربات24function uname() {25 var n = "ZorenixAI_bot";26 try {27 if (typeof bot !== "undefined" && bot) {28 if (bot.username) n = String(bot.username);29 else if (bot.name && /_bot$/i.test(String(bot.name))) n = String(bot.name);30 }31 } catch (e) {}32 return n;33}34 35let bossId = "5861439682";36if (user.telegramid != bossId) return Bot.sendMessage("⛔️ فقط مالک اصلی اجازه قرعهکشی دارد.");37 38let lotId = params ? params.trim() : (await db.global.get("current_lottery_id"));39if (!lotId) return Bot.sendMessage("⚠️ شماره قرعهکشی را بده:\n/drawlottery 1");40 41let isActive = await db.global.get("lot_active_" + lotId);42if (!isActive || isActive === "0" || isActive === "false") {43 return Bot.sendMessage("⚠️ این قرعهکشی قبلاً انجام شده یا غیرفعال است.");44}45let prevWin = await db.global.get("lot_winner_" + lotId);46if (prevWin) {47 return Bot.sendMessage("⚠️ برندهٔ این قرعهکشی قبلاً ثبت شده: " + prevWin + "\nبرای قرعهٔ جدید، /newlottery بزن.");48}49 50let rawUsers = await db.global.get("lot_users_" + lotId) || "[]";51let userList = [];52try { userList = JSON.parse(rawUsers); } catch (e) { userList = []; }53 54if (userList.length === 0) {55 return Bot.sendMessage("❌ هنوز هیچ کاربری شرکت نکرده است.\nاین لینک را در کانال بگذار:\nhttps://t.me/" + uname() + "?start=lottery_" + lotId);56}57 58let winnerUid = userList[Math.floor(Math.random() * userList.length)];59let prizeType = await db.global.get("lot_type_" + lotId) || "inbot";60let prizeTitle = await db.global.get("lot_title_" + lotId) || "جایزه ویژه";61let winToken = "WIN-" + Math.floor(10000 + Math.random() * 90000);62 63// [ZFix] قفل با رشتهٔ خالی + ثبت برنده برای جلوگیری از قرعهٔ دوباره64await db.global.set("lot_active_" + lotId, "");65await db.global.set("lot_winner_" + lotId, String(winnerUid));66 67if (prizeType === "inbot") {68 let thirtyDays = 30 * 24 * 60 * 60 * 1000;69 await db.global.set("plan_" + winnerUid, "super");70 await db.global.set("plan_exp_" + winnerUid, Date.now() + thirtyDays);71 await db.global.set("msg_count_" + winnerUid, 0);72 try {73 Api.sendMessage({74 chat_id: winnerUid,75 text: "🎉 تبریک! شما برندهٔ قرعهکشی شدید 👑\n\n🎁 " + prizeTitle +76 "\n\n♾ اشتراک SuperZorenix یکماهه بهصورت آنی فعال شد."77 });78 } catch (eW) {}79} else {80 try {81 Api.sendMessage({82 chat_id: winnerUid,83 text: "🎉 تبریک! برندهٔ قرعهکشی شدید 🎁\n\n🎁 " + prizeTitle +84 "\n🔑 کد پیگیری: " + winToken +85 "\n\nبا همین کد به @ZorenixSupport پیام بده."86 });87 } catch (eW2) {}88}89 90Bot.sendMessage(91 "🏆 قرعهکشی شماره " + lotId + " انجام شد\n\n" +92 "🎁 جایزه: " + prizeTitle + "\n" +93 "👥 شرکتکننده: " + userList.length + " نفر\n" +94 "👑 برنده: " + winnerUid + "\n" +95 "🔑 کد: " + winToken96);