gaber-elsayed

Top Filint

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