| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import fetch from 'node-fetch'
- import fs from 'fs'
- let handler = async (m, { conn, args, participants, usedPrefix }) => {
- let users = Object.entries(global.db.data.users).map(([key, value]) => {
- return {...value, jid: key}
- })
- let sortedExp = users.map(toNumber('exp')).sort(sort('exp'))
- let sortedLim = users.map(toNumber('limit')).sort(sort('limit'))
- let sortedLevel = users.map(toNumber('level')).sort(sort('level'))
- let sortedRole = users.map(toNumber('role')).sort(sort('role'))
- let sortedMoney = users.map(toNumber('money')).sort(sort('money'))
- let sortedJoincount = users.map(toNumber('joincount')).sort(sort('joincount'))
- let sortedPremium = users.map(toNumber('premium')).sort(sort('premium'))
- let usersExp = sortedExp.map(enumGetKey)
- let usersLim = sortedLim.map(enumGetKey)
- let usersLevel = sortedLevel.map(enumGetKey)
- let usersRole = sortedRole.map(enumGetKey)
- let usersMoney = sortedMoney.map(enumGetKey)
- let usersJoincount = sortedJoincount.map(enumGetKey)
- let usersPremium = sortedPremium.map(enumGetKey)
-
- console.log(participants)
- let len = args[0] && args[0].length > 0 ? Math.min(100, Math.max(parseInt(args[0]), 10)) : Math.min(10, sortedExp.length)
- let text = `\`๐ ๐๐ฐ๐ฑ๐ป๐ฐ ๐ณ๐ด ๐ฒ๐ป๐ฐ๐๐ธ๐ฒ๐ฐ๐ฒ๐ธ๐พ๐ฝ\`
-
- ๐ *๐๐๐ ${len} ๐๐ ๐ฏ*
- ๐๐ฎ: *${usersExp.indexOf(m.sender) + 1}* ๐๐ *${usersExp.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedExp.slice(0, len).map(({ jid, exp }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} *${exp} โก*`).join`\n`}
- โโโโโโโโโโโโโโโโโ
- ๐ *๐๐๐ ${len} ๐๐๐๐๐๐๐๐ ๐*
- ๐๐ฎ : *${usersLim.indexOf(m.sender) + 1}* ๐๐ฬ *${usersLim.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedLim.slice(0, len).map(({ jid, limit }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} *${limit} ๐*`).join`\n`}
- โโโโโโโโโโโโโโโโโ
- ๐ *๐๐๐ ${len} ๐๐๐๐๐ ๐ช*
- ๐๐ฎ : *${usersLevel.indexOf(m.sender) + 1}* ๐๐ *${usersLevel.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedLevel.slice(0, len).map(({ jid, level }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} *${level} ๐
*`).join`\n`}
- โโโโโโโโโโโโโโโโโ
- ๐ *๐๐๐ ${len} ๐๐๐ ๐*
- ๐๐ฎ : *${usersLevel.indexOf(m.sender) + 1}* ๐๐ *${usersLevel.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedLevel.slice(0, len).map(({ jid, role, level }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} ${role}`).join`\n`}
- โโโโโโโโโโโโโโโโโ
- ๐ *๐๐๐ ${len} ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐ ๐๏ธ*
- ๐๐ฎ : *${usersLevel.indexOf(m.sender) + 1}* ๐๐ *${usersLevel.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedLim.slice(0, len).map(({ jid, premium, level }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} *${premium ? `โ
` : `โ`} ๐๏ธ*`).join`\n`}
- โโโโโโโโโโโโโโโโโ
- ๐ *๐๐๐ ${len} ๐๐๐๐๐๐ ๐งฟ*
- ๐๐ฎ : *${usersJoincount.indexOf(m.sender) + 1}* ๐๐ *${usersJoincount.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedJoincount.slice(0, len).map(({ jid, joincount }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} *${joincount} ๐งฟ*`).join`\n`}
- โโโโโโโโโโโโโโโโโ
- ๐ *๐๐๐ ${len} แดแดษดแดแด๐๐๐๐๐ ๐ช*
- ๐๐ฎ : *${usersMoney.indexOf(m.sender) + 1}* ๐๐ *${usersMoney.length} ๐ฎ๐ฌ๐ฎ๐๐ซ๐ข๐จ๐ฌ*
- ${sortedMoney.slice(0, len).map(({ jid, money }, i) => `${i + 1}. ${participants.some(p => jid === p.jid) ? `(${conn.getName(jid)}) wa.me/` : '@'}${jid.split`@`[0]} *${money} ๐ช*`).join`\n`}
- `.trim()
- await m.reply(text, null, { mentions: conn.parseMention(text) })
- //conn.sendMessage(m.chat, {text: text, contextInfo:{ mentionedJid: conn.parseMention(text)}}, { quoted: m})
- }
- handler.help = ['top']
- handler.tags = ['econ']
- handler.command = ['leaderboard', 'lb', 'top']
- handler.register = true
- handler.fail = null
- handler.exp = 3500
- export default handler
- function sort(property, ascending = true) {
- if (property) return (...args) => args[ascending & 1][property] - args[!ascending & 1][property]
- else return (...args) => args[ascending & 1] - args[!ascending & 1]
- }
- function toNumber(property, _default = 0) {
- if (property) return (a, i, b) => {
- return {...b[i], [property]: a[property] === undefined ? _default : a[property]}
- }
- else return a => a === undefined ? _default : a
- }
- function enumGetKey(a) {
- return a.jid
- }
|