Last active
April 6, 2018 12:14
-
-
Save CodingBobby/83431c3a69b990a33703d6069089a200 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if(cmd == 'top' || cmd == 'rank' || cmd == 'tr') { // top 10 users by given argument | |
cmdLog(cmd, args, msg); | |
let usrArr = sortArr(gidArrSrch(msg,args[0]),2); | |
let count = args[1] || 10; | |
if(usrArr.length < count) | |
count = usrArr.length; | |
console.log(`\n> Top ${count} on ${msg.guild.name} at ${args[0]}`); | |
const topList = () => { | |
let msg = ""; | |
for(var i = 0, j; i < count; i++) { | |
j ? j < i : j = i; | |
let id = disbot.users.get(usrArr[i][0]); | |
if(id == undefined) { | |
count++; | |
continue; | |
} | |
msg += `**\n${j+1}:**\t${id.username}#${id.discriminator}`; | |
j++; | |
} | |
return msg; | |
} | |
msg.channel.send(topList()); | |
console.log('\n> success'); | |
return 1; | |
} | |
function gidArrSrch(msg, search) { // fetch profiles of all users in current guild | |
const gldUsrs = (prfls,glds) => | |
Object.entries(prfls).filter(([user,attrs]) => | |
Object.values(attrs.gld[glds] || {}).length); | |
const users = gldUsrs(profiles,msg.guild.id); | |
let newArr = []; | |
for(var user of users) { | |
const id = user[0]; | |
const data = user[1]; | |
let srchVal = data.gld[msg.guild.id][search]; | |
newArr.push([id,srchVal]); | |
} | |
return newArr; | |
} | |
function sortArr(arr, s) { // sort arr[][] for s. element | |
let swapp; | |
let n = arr.length - 1; | |
s--; | |
do { | |
swapp = false; | |
for(var i = 0; i < n; i++) { | |
if(arr[i][s] < arr[i+1][s]) { | |
let tmp = arr[i]; | |
arr[i] = arr[i+1]; | |
arr[i+1] = tmp; | |
swapp = true; | |
} | |
} n--; | |
} while (swapp); | |
return arr; | |
} | |
function cmdLog(cmd, args, msg) { // general command log in console | |
console.log(`\n> COMMAND [${cmd}] with ARGUMENTS [${args}]\n> called by: ${msg.author.username}#${msg.author.discriminator}`) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment