Object.values(serverDocument.members) .filter(a => msg.guild.members.has(a._id)) .sort((a, b) => computeRankScore(b.messages, b.voice) - computeRankScore(a.messages, a.voice)) .slice(0, 5) .map(a => { const score = computeRankScore(a.messages, a.voice); return `**@${client.getName(serverDocument, msg.guild.members.get(a._id))}**: ${score} activity point${score === 1 ? "" : "s"} (${a.messages} message${a.messages === 1 ? "" : "s"}${a.voice > 0 ? `, ${moment.duration(a.voice, "minutes").humanize()} active on voice chat` : ""})`; })
serverDocument.games.sort((a, b) => b.time_played - a.time_played) .slice(0, 5) .map(a => { const timePlayed = a.time_played * 15; return `**${a._id}** played for ${moment.duration(timePlayed, "minutes").humanize()} total`; })
sortedGames .slice(0, 8) .map(game => { const timePlayed = game.time_played * 5; const timeStringSplit = moment.duration(timePlayed, "minutes").humanize().split(" "); return [ `» **${game._id}** «`, `\t**${timeStringSplit[0]}** ${timeStringSplit[1]}`, ].join("\n"); })
}, formatDuration: function (time){ return moment.duration(time, 'seconds').humanize();
this.response(moment.duration(process.uptime(), 'seconds').humanize().green) break case 'credit':