Advertisement
ZIADAHMED2006

Untitled

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