Skip to content

Commit 6595eae

Browse files
leaderboard code. (ep 26)
1 parent 2799118 commit 6595eae

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

ep26/leaders.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
const Discord = require("discord.js");
2+
const mongoose = require('mongoose');
3+
mongoose.connect('mongodb://localhost/tutorial', {
4+
useNewUrlParser: true
5+
});
6+
const Coins = require("../models/coins.js");
7+
module.exports.run = async (bot, message, args) => {
8+
await message.delete();
9+
if (message.author.id !== '178657593030475776') return;
10+
//Grab all of the users in said server
11+
Coins.find({
12+
serverID: message.guild.id
13+
}).sort([
14+
['coins', 'descending']
15+
]).exec((err, res) => {
16+
if (err) console.log(err);
17+
18+
let embed = new Discord.RichEmbed()
19+
.setTitle("Coins Leaderboard")
20+
//if there are no results
21+
if (res.length === 0) {
22+
embed.setColor("RED");
23+
embed.addField("No data found", "Please type in chat to gain coins!")
24+
} else if (res.length < 10) {
25+
//less than 10 results
26+
embed.setColor("BLURPLE");
27+
for (i = 0; i < res.length; i++) {
28+
let member = message.guild.members.get(res[i].userID) || "User Left"
29+
if (member === "User Left") {
30+
embed.addField(`${i + 1}. ${member}`, `**Coins**: ${res[i].coins}`);
31+
} else {
32+
embed.addField(`${i + 1}. ${member.user.username}`, `**Coins**: ${res[i].coins}`);
33+
}
34+
}
35+
} else {
36+
//more than 10 results
37+
embed.setColor("BLURPLE");
38+
for (i = 0; i < 10; i++) {
39+
let member = message.guild.members.get(res[i].userID) || "User Left"
40+
if (member === "User Left") {
41+
embed.addField(`${i + 1}. ${member}`, `**Coins**: ${res[i].coins}`);
42+
} else {
43+
embed.addField(`${i + 1}. ${member.user.username}`, `**Coins**: ${res[i].coins}`);
44+
}
45+
}
46+
}
47+
48+
message.channel.send(embed);
49+
})
50+
}
51+
module.exports.help = {
52+
name: "leaders"
53+
}

0 commit comments

Comments
 (0)