Advertisement
Guest User

Here

a guest
Aug 19th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.47 KB | None | 0 0
  1.  
  2. const Discord = require("discord.js");
  3.  
  4.  
  5. const client = new Discord.Client();
  6.  
  7.  
  8. const config = require("./config.json");
  9.  
  10. const roblox = require ("roblox-js")
  11.  
  12. client.on("ready", () => {
  13.  
  14. console.log(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds.`);
  15.  
  16. client.user.setActivity(`➳ Moderating the Navy.`);
  17. });
  18.  
  19. roblox.login({username: "Sovereign_Crown", password: "Crowned11"}).then((success) => {
  20.  
  21. var groupId = 2750654;
  22. var maximumRank = 20;
  23. var username = args[1]
  24. if (username){
  25. message.channel.send(`Checking ROBLOX for ${username}`)
  26. roblox.getIdFromUsername(username)
  27. .then(function(id){
  28. roblox.getRankInGroup(groupId, id)
  29. .then(function(rank){
  30. if(maximumRank <= rank){
  31. message.channel.send(`${id} is rank ${rank} and not promotable.`)
  32. } else {
  33. message.channel.send(`${id} is rank ${rank} and promotable.`)
  34. roblox.promote(groupId, id)
  35. .then(function(roles){
  36. message.channel.send(`Promoted from ${roles.oldRole.Name} to ${roles.newRole.Name}`)
  37. }).catch(function(err){
  38. message.channel.send("Failed to promote.")
  39. });
  40. }
  41. }).catch(function(err){
  42. message.channel.send("Couldn't get him in the group.")
  43. });
  44. }).catch(function(err){
  45. message.channel.send(`Sorry, but ${username} doesnt exist on ROBLOX.`)
  46. });
  47. } else {
  48. message.channel.send("Please enter a username.")
  49. }
  50. return;
  51.  
  52. client.on("message", async message => {
  53.  
  54. if(message.author.bot) return;
  55.  
  56. if(message.content.indexOf(config.prefix) !== 0) return;
  57.  
  58.  
  59. const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
  60. const command = args.shift().toLowerCase();
  61.  
  62.  
  63.  
  64.  
  65. if(command === "say") {
  66.  
  67. const sayMessage = args.join(" ");
  68.  
  69. message.delete().catch(O_o=>{});
  70.  
  71. message.channel.send(sayMessage);
  72. }
  73.  
  74. if(command === "kick") {
  75.  
  76. if(!message.member.roles.some(r=>["Developers","Admins"].includes(r.name)) )
  77. return message.reply("Sorry, you don't have permissions to use this!");
  78.  
  79. let member = message.mentions.members.first() || message.guild.members.get(args[0]);
  80. if(!member)
  81. return message.reply("Please mention a valid member of this server");
  82. if(!member.kickable)
  83. return message.reply("I cannot kick this user. Their role might be higher than my role.");
  84.  
  85. let reason = args.slice(1).join(' ');
  86. if(!reason) reason = "No reason provided.";
  87.  
  88.  
  89. await member.kick(reason)
  90. .catch(error => message.reply(`Sorry ${message.author} I couldn't kick because of : ${error}`));
  91. message.reply(`${member.user.tag} has been kicked by ${message.author.tag} because: ${reason}`);
  92.  
  93. }
  94.  
  95. if(command === "ban") {
  96.  
  97. if(!message.member.roles.some(r=>["Administrator"].includes(r.name)) )
  98. return message.reply("Sorry, you don't have permissions to use this!");
  99.  
  100. let member = message.mentions.members.first();
  101. if(!member)
  102. return message.reply("Please mention a valid member of this server");
  103. if(!member.bannable)
  104. return message.reply("I cannot ban this user! Do they have a higher role? Do I have ban permissions?");
  105.  
  106. let reason = args.slice(1).join(' ');
  107. if(!reason) reason = "No reason provided";
  108.  
  109. await member.ban(reason)
  110. .catch(error => message.reply(`Sorry ${message.author} I couldn't ban because of : ${error}`));
  111. message.reply(`${member.user.tag} has been banned by ${message.author.tag} because: ${reason}`);
  112. }
  113.  
  114. if(command === "purge") {
  115.  
  116. const deleteCount = parseInt(args[0], 10);
  117.  
  118.  
  119. if(!deleteCount || deleteCount < 2 || deleteCount > 100)
  120. return message.reply("Please provide a number between 1 and 100 for the number of messages to delete");
  121.  
  122.  
  123. const fetched = await message.channel.fetchMessages({limit: deleteCount});
  124. message.channel.bulkDelete(fetched)
  125. .catch(error => message.reply(`Couldn't delete messages because of: ${error}`));
  126. }
  127. });
  128.  
  129. client.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement