Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const top = JSON.parse(fs.readFileSync("top.json", "UTF8"));
- function save() {
- fs.writeFileSync("./top.json", JSON.stringify(top, null, 4));
- }
- client.on("voiceStateUpdate", async function(oldMember, newMember) {
- if (newMember.user.bot) return;
- if (!top[newMember.guild.id]) top[newMember.guild.id] = {};
- if (!top[newMember.guild.id][newMember.user.id])
- top[newMember.guild.id][newMember.user.id] = {
- text: 0,
- voice: parseInt(Math.random() * 10),
- msgs: 0,
- id: newMember.user.id
- };
- save();
- if (!oldMember.voiceChannel && newMember.voiceChannel) {
- var addXP = setInterval(async function() {
- top[newMember.guild.id][newMember.user.id].voice += parseInt(
- Math.random() * 4
- );
- save();
- if (!newMember.voiceChannel) {
- clearInterval(addXP);
- }
- }, 60000);
- }
- });
- //top voice & text
- client.on("message", async function(message) {
- if (message.author.bot) return;
- if (!message.guild) return;
- if (!top[message.guild.id]) top[message.guild.id] = {};
- if (!top[message.guild.id][message.author.id])
- top[message.guild.id][message.author.id] = {
- text: parseInt(Math.random() * 10),
- voice: 1,
- msgs: 0,
- id: message.author.id
- };
- if (top[message.guild.id][message.author.id].msgs > 10) {
- top[message.guild.id][message.author.id].text += parseInt(
- Math.random() * 4
- );
- top[message.guild.id][message.author.id].msgs = 0;
- }
- save();
- var args = message.content.split(" ");
- var cmd = args[0].toLowerCase();
- if (!message.content.startsWith(prefix)) return;
- if (message.content.startsWith(prefix + "top text")) {
- var topArray = Object.values(top[message.guild.id]);
- var num = 0;
- var textStr = `${topArray
- .sort((a, b) => b.text - a.text)
- .slice(0, 10)
- .filter(user => user.text > 0 && message.guild.members.get(user.id))
- .map(function(user) {
- if (user.text > 0) {
- return `#${++num} | <@${user.id}> XP: ${user.text} `;
- }
- })
- .join("")}`;
- var embed = new Discord.RichEmbed()
- .setAuthor("📋 | Guild Score Leaderboards", message.guild.iconURL)
- .setColor("13B813")
- .addField(
- `:speech_balloon: | TEXT LEADERBOARD`,
- `${textStr} ✨ | For More: ${prefix}top text`,
- true
- )
- .setFooter(message.author.tag, message.author.displayAvatarURL)
- .setTimestamp();
- message.channel.send({
- embed: embed
- });
- } else {
- if (message.content.startsWith(prefix + "top voice")) {
- var topArray = Object.values(top[message.guild.id]);
- var num = 0;
- var voiceStr = `${topArray
- .sort((a, b) => b.voice - a.voice)
- .slice(0, 10)
- .filter(user => user.voice > 0 && message.guild.members.get(user.id))
- .map(function(user) {
- if (user.voice > 0) {
- return `#${++num} | <@${user.id}> XP: ${user.voice}`;
- }
- })
- .join("")}`;
- var embed = new Discord.RichEmbed()
- .setAuthor("📋 | Guild Score Leaderboards", message.guild.iconURL)
- .setColor("13B813")
- .addField(
- `**:microphone2: | VOICE LEADERBOARD**`,
- `${voiceStr} **:sparkles: More?** ${prefix}top voice`,
- true
- )
- .setFooter(message.author.tag, message.author.displayAvatarURL)
- .setTimestamp();
- message.channel.send({
- embed: embed
- });
- } else {
- if (message.content.startsWith(prefix + "top")) {
- var topArray = Object.values(top[message.guild.id]);
- var num = 0;
- var textStr = `${topArray
- .sort((a, b) => b.text - a.text)
- .slice(0, 5)
- .filter(user => user.text > 0 && message.guild.members.get(user.id))
- .map(function(user) {
- if (user.text > 0) {
- return `#${++num} | <@${user.id}> XP: ${user.text}`;
- }
- })
- .join("")}`;
- num = 0;
- var voiceStr = `${topArray
- .sort((a, b) => b.voice - a.voice)
- .slice(0, 5)
- .filter(user => user.voice > 0 && message.guild.members.get(user.id))
- .map(function(user) {
- if (user.voice > 0) {
- return `#${++num} | <@${user.id}> XP: ${user.voice}`;
- }
- })
- .join("")}`;
- var embed = new Discord.RichEmbed()
- .setAuthor("📋 | Guild Score Leaderboards", message.guild.iconURL)
- .addField(
- "**TOP 5 TEXT :speech_balloon:**",
- `${textStr}**:sparkles: More?** ${prefix}top text`,
- true
- )
- .addField(
- "**TOP 5 VOICE :microphone2:**",
- `${voiceStr}**:sparkles: More?** ${prefix}top voice`,
- true
- )
- .setFooter(message.author.tag, message.author.displayAvatarURL)
- .setTimestamp()
- .setColor("#00000");
- message.channel.send({
- embed: embed
- });
- }
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment