Advertisement
X_KillerYT

top text + top voice , heroku

Nov 2nd, 2018
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2. const fs = require('fs');
  3. const hero = new Discord.Client({disableEveryone: true, maxMessagesCache: 1});
  4. const config = { prefix: "$" };
  5. const tpoints = {};
  6. const vpoints = {};
  7. hero.config = config;
  8. hero.login(hero.config.token);
  9. hero.on('ready',async () => {
  10.   console.log(`.Codes TOP.`);
  11.   hero.users.forEach(m => {
  12.     if(m.bot) return;
  13.     if(!tpoints[m.id]) tpoints[m.id] = {points: 0, id: m.id};
  14.  
  15.     if(!vpoints[m.id]) vpoints[m.id] = {points: 0, id: m.id};
  16.   });
  17. });
  18.  
  19. hero.on('message',async message => {
  20.   if(message.author.bot || message.channel.type === 'dm') return;
  21.   let args = message.content.split(' ');
  22.   let member = message.member;
  23.   let mention = message.mentions.users.first();
  24.   let guild = message.guild;
  25.   let author = message.author;
  26.  
  27.   let rPoints = Math.floor(Math.random() * 4) + 1;// Random Points
  28.   tpoints[author.id].points += rPoints;
  29.   if(args[0] === `${hero.config.prefix}top`) {
  30.     let _voicePointer = 1;
  31.     let _textPointer = 1;
  32.     let _voiceArray = Object.values(vpoints);
  33.     let _textArray = Object.values(tpoints);
  34.     let _topText = _textArray.slice(0, 5).map(r => `**\`.${_textPointer++}\` | <@${r.id}> \`XP: ${r.points}\`**`).sort((a, b) => a > b).join('\n');
  35.     let _voiceText = _voiceArray.slice(0, 5).map(r => `**\`.${_voicePointer++}\` | <@${r.id}> \`XP: ${r.points}\`**`).sort((a, b) => a > b).join('\n');
  36.  
  37.     let topRoyale = new Discord.RichEmbed();
  38.     topRoyale.setAuthor(message.author.username, message.author.avatarURL);
  39.     topRoyale.setTitle('# " Top');
  40.     //topRoyale.setThumbnail(message.guild.iconURL);
  41.     topRoyale.addField(`**TOP 5 TEXT ๐Ÿ’ฌ**`, _topText, true);
  42.     topRoyale.addField(`**TOP 5 VOICE ๐ŸŽ™**`, _voiceText, true);
  43.     topRoyale.setFooter(`Developed By: .RoyaleYouseeFยนโต#5335`, message.guild.iconURL);
  44.     message.channel.send(topRoyale).catch(e => {
  45.       if(e) return message.channel.send(`**. Error; \`${e.message}\`**`);
  46.     });
  47.   }
  48. });
  49.  
  50. hero.on('voiceStateUpdate', (u, member) => {
  51.   let author = member.user.id;
  52.   let guild = member.guild;
  53.   if(member.voiceChannel === null) return;
  54.   let rPoints = Math.floor(Math.random() * 4) + 1;// Random Points
  55.   setInterval(() => {
  56.     if(!member.voiceChannel) return;
  57.     if(member.selfDeafen) return;
  58.     vpoints[author].points += rPoints;
  59.   }, 5000); // 5 Secs
  60. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement