455 commands2 envUpdated 7h agoCreated Aug 26, 2026
commands/topz.js
javascript · 104 lines
1/**#command2name: topz3answer: 4keyboard: 5parse_mode: markdown6aliases: 7allow_only_group: false8need_reply: false9is_web: 010#command**/11 12/**#command13name: topz14answer: 15keyboard: 16parse_mode: 17aliases: 18allow_only_group: false19need_reply: false20is_web: 021#command**/22 23try {24try { Api.answerCallbackQuery({}); } catch (e0) {}25var uid = "";26if (typeof user !== "undefined" && user) {27 if (user.telegramid) uid = String(user.telegramid);28 else if (user.id) uid = String(user.id);29}30if (!uid) return;31 32var now = Date.now();33var cached = String((await db.global.get("topz_txt")) || "");34var cAt = parseInt(await db.global.get("topz_at") || 0) || 0;35if (cached && now - cAt < 600000) {36 Api.sendMessage({37 text: cached + "\n(کش ۱۰ دقیقه)",38 reply_markup: { inline_keyboard: [39 [{ text: "🧙 کاراکتر", callback_data: "chr" }],40 [{ text: "🏠 منو", callback_data: "/start" }]41 ] }42 });43 return;44}45 46var ZU = 1000000;47var zl = [];48try { zl = JSON.parse(String((await db.global.get("z_users")) || "[]")); } catch (eZ) { zl = []; }49if (!zl || typeof zl.length !== "number") zl = [];50var n = zl.length;51if (n > 80) n = 80;52var rows = [];53var i = 0;54for (i = 0; i < n; i++) {55 var u = String(zl[i] || "");56 if (!u) continue;57 var xp = parseInt(await db.global.get("xp_" + u) || 0) || 0;58 var rf = parseInt(await db.global.get("ref_count_" + u) || 0) || 0;59 var wl = parseInt(await db.global.get("wal_" + u) || 0) || 0;60 var ms = parseInt(await db.global.get("msg_count_" + u) || 0) || 0;61 var pl = String((await db.global.get("plan_" + u)) || "free");62 var pw = 1;63 if (pl === "super") pw = 3;64 else if (pl === "normal") pw = 2;65 if (u === "5861439682") pw = 4;66 rows.push({ u: u, xp: xp, rf: rf, zc: wl / ZU, ms: ms, acc: pw * 100000 + xp });67}68var keys = ["xp","rf","zc","acc","ms"];69var titles = ["برتر XP","دعوت","پولدار ZC","اکانت","محبوب امروز"];70var sufs = ["",""," ZC","",""];71var out = "✦ لیدربورد\n───────────────\nآیدیها عددیاند (بدون یوزرنیم هم همین است)\n";72var ki2 = 0;73for (ki2 = 0; ki2 < 5; ki2++) {74 var key = keys[ki2];75 var a = [];76 var x = 0;77 for (x = 0; x < rows.length; x++) a.push(rows[x]);78 var p = 0;79 var q = 0;80 for (p = 0; p < a.length; p++) {81 for (q = p + 1; q < a.length; q++) {82 if (a[q][key] > a[p][key]) { var t = a[p]; a[p] = a[q]; a[q] = t; }83 }84 }85 out = out + "\n" + titles[ki2] + "\n";86 var k = 0;87 var lim = a.length;88 if (lim > 5) lim = 5;89 if (lim === 0) out = out + "خالی\n";90 for (k = 0; k < lim; k++) {91 out = out + (k + 1) + ") " + a[k].u + " · " + a[k][key] + sufs[ki2] + "\n";92 }93}94await db.global.set("topz_txt", out);95await db.global.set("topz_at", now);96Api.sendMessage({97 text: out,98 reply_markup: { inline_keyboard: [99 [{ text: "🧙 کاراکتر", callback_data: "chr" }],100 [{ text: "🏠 منو", callback_data: "/start" }]101 ] }102});103 104} catch (e) { Bot.sendMessage("خطا topz"); }