gaber-elsayed

Top (JS) (JSON)

Apr 12th, 2020
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. var top = require("./top.json");
  2. function save() {
  3. fs.writeFileSync("./top.json", JSON.stringify(top, null, 4));
  4. }client.on("voiceStateUpdate", async function(oldMember, newMember) {
  5. if (newMember.user.bot) return;
  6. if (!top[newMember.guild.id]) top[newMember.guild.id] = {};
  7. if (!top[newMember.guild.id][newMember.user.id]) top[newMember.guild.id][newMember.user.id] = {
  8. "text": 0,
  9. "voice": parseInt(Math.random()*10),
  10. "msgs": 0,
  11. "id": newMember.user.id
  12. }
  13. save();
  14. if (!oldMember.voiceChannel && newMember.voiceChannel) {
  15. var addXP = setInterval(async function () {
  16. top[newMember.guild.id][newMember.user.id].voice+=parseInt(Math.random()*4);
  17. save();
  18. if (!newMember.voiceChannel) {
  19. clearInterval(addXP);
  20. }
  21. }, 60000);
  22. }
  23. });
  24. client.on("message", async function (message) {
  25. if (message.author.bot) return;
  26. if (!message.guild) return;
  27. if (!top[message.guild.id]) top[message.guild.id] = {};
  28. if (!top[message.guild.id][message.author.id]) top[message.guild.id][message.author.id] = {
  29. "text": parseInt(Math.random()*10),
  30. "voice": 1,
  31. "msgs": 0,
  32. "id": message.author.id
  33. }
  34. if (top[message.guild.id][message.author.id].msgs > 10) {
  35. top[message.guild.id][message.author.id].text += parseInt(Math.random()*4);
  36. top[message.guild.id][message.author.id].msgs = 0;
  37. }
  38. save();
  39. var args = message.content.split(" ");
  40. var cmd = args[0].toLowerCase();
  41. if (!message.content.startsWith(prefix)) return;
  42. if(message.content.startsWith(prefix + "top text")) {
  43. var topArray = Object.values(top[message.guild.id]);
  44. var num = 0;
  45. 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) {
  46. if (user.text > 0) {
  47. return `**#${++num} | <@${user.id}> XP: \`${user.text}\` **`
  48. }
  49. }).join("\n")}`;
  50. var embed = new Discord.RichEmbed()
  51. .setAuthor("?? | Guild Score Leaderboards", message.guild.iconURL)
  52. .setColor("13B813")
  53. .addField(`**:speech_balloon: | TEXT LEADERBOARD**`, `${textStr} \n\n\n **? | For More: \`${prefix}top text\`**`, true)
  54. .setFooter(message.author.tag, message.author.displayAvatarURL)
  55. .setTimestamp()
  56. message.channel.send({
  57. embed: embed
  58. });
  59. // if (!message.content.startsWith(prefix)) return;
  60. } else {
  61. if(message.content.startsWith(prefix + "top voice")) {
  62. var topArray = Object.values(top[message.guild.id]);
  63. var num = 0;
  64. 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) {
  65. if (user.voice > 0) {
  66. return `**#${++num} | <@${user.id}> XP: \`${user.voice}\` **`
  67. }
  68. }).join("\n")}`;
  69. var embed = new Discord.RichEmbed()
  70. .setAuthor("?? | Guild Score Leaderboards", message.guild.iconURL)
  71. .setColor("13B813")
  72. .addField(`**:microphone2: | VOICE LEADERBOARD**`, `${voiceStr} \n\n\n **:sparkles: More?** \`${prefix}top voice\``, true)
  73.  
  74. .setFooter(message.author.tag, message.author.displayAvatarURL)
  75. .setTimestamp()
  76. message.channel.send({
  77. embed: embed
  78. });
  79.  
  80.  
  81. // break;
  82. // if (!message.content.startsWith(prefix)) return;
  83. } else {
  84. if(message.content.startsWith(prefix + "top")) {
  85. var topArray = Object.values(top[message.guild.id]);
  86. var num = 0;
  87. 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) {
  88. if (user.text > 0) {
  89. return `**#${++num} | <@${user.id}> XP: \`${user.text}\` **`
  90. }
  91. }).join("\n")}`;
  92. num = 0;
  93. 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) {
  94. if (user.voice > 0) {
  95. return `**#${++num} | <@${user.id}> XP: \`${user.voice}\` **`
  96. }
  97. }).join("\n")}`;
  98. var embed = new Discord.RichEmbed()
  99. .setAuthor("?? | Guild Score Leaderboards", message.guild.iconURL)
  100. .addField("**TOP 5 TEXT :speech_balloon:**", `${textStr} \n\n **:sparkles: More?** \`${prefix}top text\``, true)
  101. .addField("**TOP 5 VOICE :microphone2:**", `${voiceStr} \n\n **:sparkles: More?** \`${prefix}top voice\``, true)
  102. .setFooter(message.author.tag, message.author.displayAvatarURL)
  103. .setTimestamp()
  104. .setColor("13B813");
  105. message.channel.send({
  106. embed: embed
  107.  
  108.  
  109. });
  110.  
  111.  
  112.  
  113. }
  114. }
  115. }
  116.  
  117. });
Advertisement
Add Comment
Please, Sign In to add comment